@@ -128,13 +128,12 @@ define <vscale x 16 x i1> @whilele_b_ii_dont_fold_to_ptrue_overflow() {
128
128
ret <vscale x 16 x i1 > %out
129
129
}
130
130
131
- define <vscale x 16 x i1 > @whilele_b_ii_dont_fold_to_ptrue_increment_overflow () {
132
- ; CHECK-LABEL: whilele_b_ii_dont_fold_to_ptrue_increment_overflow :
131
+ define <vscale x 16 x i1 > @whilele_b_ii_known_always_true () {
132
+ ; CHECK-LABEL: whilele_b_ii_known_always_true :
133
133
; CHECK: // %bb.0:
134
- ; CHECK-NEXT: mov w8, #2147483647 // =0x7fffffff
135
- ; CHECK-NEXT: whilele p0.b, wzr, w8
134
+ ; CHECK-NEXT: ptrue p0.b
136
135
; CHECK-NEXT: ret
137
- %out = call <vscale x 16 x i1 > @llvm.aarch64.sve.whilele.nxv16i1.i32 (i32 0 , i32 2147483647 )
136
+ %out = call <vscale x 16 x i1 > @llvm.aarch64.sve.whilele.nxv16i1.i32 (i32 2147483646 , i32 2147483647 )
138
137
ret <vscale x 16 x i1 > %out
139
138
}
140
139
@@ -388,13 +387,12 @@ define <vscale x 16 x i1> @whilels_b_ii_dont_fold_to_ptrue_overflow() {
388
387
ret <vscale x 16 x i1 > %out
389
388
}
390
389
391
- define <vscale x 16 x i1 > @whilels_b_ii_dont_fold_to_ptrue_increment_overflow () {
392
- ; CHECK-LABEL: whilels_b_ii_dont_fold_to_ptrue_increment_overflow :
390
+ define <vscale x 16 x i1 > @whilels_b_ii_known_always_true () {
391
+ ; CHECK-LABEL: whilels_b_ii_known_always_true :
393
392
; CHECK: // %bb.0:
394
- ; CHECK-NEXT: mov w8, #-1 // =0xffffffff
395
- ; CHECK-NEXT: whilels p0.b, wzr, w8
393
+ ; CHECK-NEXT: ptrue p0.b
396
394
; CHECK-NEXT: ret
397
- %out = call <vscale x 16 x i1 > @llvm.aarch64.sve.whilels.nxv16i1.i32 (i32 0 , i32 4294967295 )
395
+ %out = call <vscale x 16 x i1 > @llvm.aarch64.sve.whilels.nxv16i1.i32 (i32 4294967294 , i32 4294967295 )
398
396
ret <vscale x 16 x i1 > %out
399
397
}
400
398
0 commit comments