@@ -128,13 +128,12 @@ define <vscale x 16 x i1> @whilele_b_ii_dont_fold_to_ptrue_overflow() {
128128 ret <vscale x 16 x i1 > %out
129129}
130130
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 :
133133; CHECK: // %bb.0:
134- ; CHECK-NEXT: mov w8, #2147483647 // =0x7fffffff
135- ; CHECK-NEXT: whilele p0.b, wzr, w8
134+ ; CHECK-NEXT: ptrue p0.b
136135; 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 )
138137 ret <vscale x 16 x i1 > %out
139138}
140139
@@ -388,13 +387,12 @@ define <vscale x 16 x i1> @whilels_b_ii_dont_fold_to_ptrue_overflow() {
388387 ret <vscale x 16 x i1 > %out
389388}
390389
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 :
393392; CHECK: // %bb.0:
394- ; CHECK-NEXT: mov w8, #-1 // =0xffffffff
395- ; CHECK-NEXT: whilels p0.b, wzr, w8
393+ ; CHECK-NEXT: ptrue p0.b
396394; 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 )
398396 ret <vscale x 16 x i1 > %out
399397}
400398
0 commit comments