@@ -2240,20 +2240,19 @@ define void @vand_vx_loop_hoisted_not(ptr %a, i32 noundef signext %mask) {
22402240; CHECK-RV32-LABEL: vand_vx_loop_hoisted_not:
22412241; CHECK-RV32: # %bb.0: # %entry
22422242; CHECK-RV32-NEXT: csrr a4, vlenb
2243- ; CHECK-RV32-NEXT: srli a3 , a4, 3
2244- ; CHECK-RV32-NEXT: li a2 , 64
2243+ ; CHECK-RV32-NEXT: srli a2 , a4, 3
2244+ ; CHECK-RV32-NEXT: li a3 , 64
22452245; CHECK-RV32-NEXT: not a1, a1
2246- ; CHECK-RV32-NEXT: bgeu a2, a3 , .LBB98_2
2246+ ; CHECK-RV32-NEXT: bgeu a3, a2 , .LBB98_2
22472247; CHECK-RV32-NEXT: # %bb.1:
22482248; CHECK-RV32-NEXT: li a3, 0
22492249; CHECK-RV32-NEXT: li a2, 0
22502250; CHECK-RV32-NEXT: j .LBB98_5
22512251; CHECK-RV32-NEXT: .LBB98_2: # %vector.ph
22522252; CHECK-RV32-NEXT: li a2, 0
2253- ; CHECK-RV32-NEXT: slli a3, a3, 2
2254- ; CHECK-RV32-NEXT: neg a3, a3
2255- ; CHECK-RV32-NEXT: andi a3, a3, 256
22562253; CHECK-RV32-NEXT: srli a4, a4, 1
2254+ ; CHECK-RV32-NEXT: neg a3, a4
2255+ ; CHECK-RV32-NEXT: andi a3, a3, 256
22572256; CHECK-RV32-NEXT: li a6, 0
22582257; CHECK-RV32-NEXT: li a5, 0
22592258; CHECK-RV32-NEXT: vsetvli a7, zero, e32, m2, ta, ma
@@ -2300,10 +2299,9 @@ define void @vand_vx_loop_hoisted_not(ptr %a, i32 noundef signext %mask) {
23002299; CHECK-RV64-NEXT: li a2, 0
23012300; CHECK-RV64-NEXT: j .LBB98_5
23022301; CHECK-RV64-NEXT: .LBB98_2: # %vector.ph
2303- ; CHECK-RV64-NEXT: slli a2, a2, 2
2304- ; CHECK-RV64-NEXT: negw a2, a2
2305- ; CHECK-RV64-NEXT: andi a2, a2, 256
23062302; CHECK-RV64-NEXT: srli a3, a4, 1
2303+ ; CHECK-RV64-NEXT: negw a2, a3
2304+ ; CHECK-RV64-NEXT: andi a2, a2, 256
23072305; CHECK-RV64-NEXT: slli a4, a4, 1
23082306; CHECK-RV64-NEXT: mv a5, a0
23092307; CHECK-RV64-NEXT: mv a6, a2
@@ -2335,19 +2333,18 @@ define void @vand_vx_loop_hoisted_not(ptr %a, i32 noundef signext %mask) {
23352333; CHECK-ZVKB-NOZBB32-LABEL: vand_vx_loop_hoisted_not:
23362334; CHECK-ZVKB-NOZBB32: # %bb.0: # %entry
23372335; CHECK-ZVKB-NOZBB32-NEXT: csrr a4, vlenb
2338- ; CHECK-ZVKB-NOZBB32-NEXT: srli a3 , a4, 3
2339- ; CHECK-ZVKB-NOZBB32-NEXT: li a2 , 64
2340- ; CHECK-ZVKB-NOZBB32-NEXT: bgeu a2, a3 , .LBB98_2
2336+ ; CHECK-ZVKB-NOZBB32-NEXT: srli a2 , a4, 3
2337+ ; CHECK-ZVKB-NOZBB32-NEXT: li a3 , 64
2338+ ; CHECK-ZVKB-NOZBB32-NEXT: bgeu a3, a2 , .LBB98_2
23412339; CHECK-ZVKB-NOZBB32-NEXT: # %bb.1:
23422340; CHECK-ZVKB-NOZBB32-NEXT: li a3, 0
23432341; CHECK-ZVKB-NOZBB32-NEXT: li a2, 0
23442342; CHECK-ZVKB-NOZBB32-NEXT: j .LBB98_5
23452343; CHECK-ZVKB-NOZBB32-NEXT: .LBB98_2: # %vector.ph
23462344; CHECK-ZVKB-NOZBB32-NEXT: li a2, 0
2347- ; CHECK-ZVKB-NOZBB32-NEXT: slli a3, a3, 2
2348- ; CHECK-ZVKB-NOZBB32-NEXT: neg a3, a3
2349- ; CHECK-ZVKB-NOZBB32-NEXT: andi a3, a3, 256
23502345; CHECK-ZVKB-NOZBB32-NEXT: srli a4, a4, 1
2346+ ; CHECK-ZVKB-NOZBB32-NEXT: neg a3, a4
2347+ ; CHECK-ZVKB-NOZBB32-NEXT: andi a3, a3, 256
23512348; CHECK-ZVKB-NOZBB32-NEXT: li a6, 0
23522349; CHECK-ZVKB-NOZBB32-NEXT: li a5, 0
23532350; CHECK-ZVKB-NOZBB32-NEXT: vsetvli a7, zero, e32, m2, ta, ma
@@ -2395,10 +2392,9 @@ define void @vand_vx_loop_hoisted_not(ptr %a, i32 noundef signext %mask) {
23952392; CHECK-ZVKB-NOZBB64-NEXT: li a2, 0
23962393; CHECK-ZVKB-NOZBB64-NEXT: j .LBB98_5
23972394; CHECK-ZVKB-NOZBB64-NEXT: .LBB98_2: # %vector.ph
2398- ; CHECK-ZVKB-NOZBB64-NEXT: slli a2, a2, 2
2399- ; CHECK-ZVKB-NOZBB64-NEXT: negw a2, a2
2400- ; CHECK-ZVKB-NOZBB64-NEXT: andi a2, a2, 256
24012395; CHECK-ZVKB-NOZBB64-NEXT: srli a3, a4, 1
2396+ ; CHECK-ZVKB-NOZBB64-NEXT: negw a2, a3
2397+ ; CHECK-ZVKB-NOZBB64-NEXT: andi a2, a2, 256
24022398; CHECK-ZVKB-NOZBB64-NEXT: slli a4, a4, 1
24032399; CHECK-ZVKB-NOZBB64-NEXT: mv a5, a0
24042400; CHECK-ZVKB-NOZBB64-NEXT: mv a6, a2
@@ -2431,19 +2427,18 @@ define void @vand_vx_loop_hoisted_not(ptr %a, i32 noundef signext %mask) {
24312427; CHECK-ZVKB-ZBB32-LABEL: vand_vx_loop_hoisted_not:
24322428; CHECK-ZVKB-ZBB32: # %bb.0: # %entry
24332429; CHECK-ZVKB-ZBB32-NEXT: csrr a4, vlenb
2434- ; CHECK-ZVKB-ZBB32-NEXT: srli a3 , a4, 3
2435- ; CHECK-ZVKB-ZBB32-NEXT: li a2 , 64
2436- ; CHECK-ZVKB-ZBB32-NEXT: bgeu a2, a3 , .LBB98_2
2430+ ; CHECK-ZVKB-ZBB32-NEXT: srli a2 , a4, 3
2431+ ; CHECK-ZVKB-ZBB32-NEXT: li a3 , 64
2432+ ; CHECK-ZVKB-ZBB32-NEXT: bgeu a3, a2 , .LBB98_2
24372433; CHECK-ZVKB-ZBB32-NEXT: # %bb.1:
24382434; CHECK-ZVKB-ZBB32-NEXT: li a3, 0
24392435; CHECK-ZVKB-ZBB32-NEXT: li a2, 0
24402436; CHECK-ZVKB-ZBB32-NEXT: j .LBB98_5
24412437; CHECK-ZVKB-ZBB32-NEXT: .LBB98_2: # %vector.ph
24422438; CHECK-ZVKB-ZBB32-NEXT: li a2, 0
2443- ; CHECK-ZVKB-ZBB32-NEXT: slli a3, a3, 2
2444- ; CHECK-ZVKB-ZBB32-NEXT: neg a3, a3
2445- ; CHECK-ZVKB-ZBB32-NEXT: andi a3, a3, 256
24462439; CHECK-ZVKB-ZBB32-NEXT: srli a4, a4, 1
2440+ ; CHECK-ZVKB-ZBB32-NEXT: neg a3, a4
2441+ ; CHECK-ZVKB-ZBB32-NEXT: andi a3, a3, 256
24472442; CHECK-ZVKB-ZBB32-NEXT: li a6, 0
24482443; CHECK-ZVKB-ZBB32-NEXT: li a5, 0
24492444; CHECK-ZVKB-ZBB32-NEXT: vsetvli a7, zero, e32, m2, ta, ma
@@ -2489,10 +2484,9 @@ define void @vand_vx_loop_hoisted_not(ptr %a, i32 noundef signext %mask) {
24892484; CHECK-ZVKB-ZBB64-NEXT: li a2, 0
24902485; CHECK-ZVKB-ZBB64-NEXT: j .LBB98_5
24912486; CHECK-ZVKB-ZBB64-NEXT: .LBB98_2: # %vector.ph
2492- ; CHECK-ZVKB-ZBB64-NEXT: slli a2, a2, 2
2493- ; CHECK-ZVKB-ZBB64-NEXT: negw a2, a2
2494- ; CHECK-ZVKB-ZBB64-NEXT: andi a2, a2, 256
24952487; CHECK-ZVKB-ZBB64-NEXT: srli a3, a4, 1
2488+ ; CHECK-ZVKB-ZBB64-NEXT: negw a2, a3
2489+ ; CHECK-ZVKB-ZBB64-NEXT: andi a2, a2, 256
24962490; CHECK-ZVKB-ZBB64-NEXT: slli a4, a4, 1
24972491; CHECK-ZVKB-ZBB64-NEXT: mv a5, a0
24982492; CHECK-ZVKB-ZBB64-NEXT: mv a6, a2
0 commit comments