[llvm] aa4252e - [RISCV] Add zeroext attribute to i1 arguments in xventanacondops.ll. NFC

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 19 19:17:33 PST 2022


Author: Craig Topper
Date: 2022-12-19T19:12:38-08:00
New Revision: aa4252ec6f3ba7d9c3db459b0d5166a205d364a4

URL: https://github.com/llvm/llvm-project/commit/aa4252ec6f3ba7d9c3db459b0d5166a205d364a4
DIFF: https://github.com/llvm/llvm-project/commit/aa4252ec6f3ba7d9c3db459b0d5166a205d364a4.diff

LOG: [RISCV] Add zeroext attribute to i1 arguments in xventanacondops.ll. NFC

Removes some extra andi instructions.

Added: 
    

Modified: 
    llvm/test/CodeGen/RISCV/xventanacondops.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/RISCV/xventanacondops.ll b/llvm/test/CodeGen/RISCV/xventanacondops.ll
index 1394a114fd81b..fcd6d33d0f53a 100644
--- a/llvm/test/CodeGen/RISCV/xventanacondops.ll
+++ b/llvm/test/CodeGen/RISCV/xventanacondops.ll
@@ -1,30 +1,27 @@
 ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
 ; RUN: llc -mtriple=riscv64 -mattr=+xventanacondops < %s | FileCheck %s
 
-define i64 @zero1(i64 %rs1, i1 %rc) {
+define i64 @zero1(i64 %rs1, i1 zeroext %rc) {
 ; CHECK-LABEL: zero1:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a1, a1, 1
 ; CHECK-NEXT:    vt.maskc a0, a0, a1
 ; CHECK-NEXT:    ret
   %sel = select i1 %rc, i64 %rs1, i64 0
   ret i64 %sel
 }
 
-define i64 @zero2(i64 %rs1, i1 %rc) {
+define i64 @zero2(i64 %rs1, i1 zeroext %rc) {
 ; CHECK-LABEL: zero2:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a1, a1, 1
 ; CHECK-NEXT:    vt.maskcn a0, a0, a1
 ; CHECK-NEXT:    ret
   %sel = select i1 %rc, i64 0, i64 %rs1
   ret i64 %sel
 }
 
-define i64 @add1(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @add1(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: add1:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskc a0, a2, a0
 ; CHECK-NEXT:    add a0, a1, a0
 ; CHECK-NEXT:    ret
@@ -33,10 +30,9 @@ define i64 @add1(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @add2(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @add2(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: add2:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskc a0, a1, a0
 ; CHECK-NEXT:    add a0, a2, a0
 ; CHECK-NEXT:    ret
@@ -45,10 +41,9 @@ define i64 @add2(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @add3(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @add3(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: add3:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskcn a0, a2, a0
 ; CHECK-NEXT:    add a0, a1, a0
 ; CHECK-NEXT:    ret
@@ -57,10 +52,9 @@ define i64 @add3(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @add4(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @add4(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: add4:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskcn a0, a1, a0
 ; CHECK-NEXT:    add a0, a2, a0
 ; CHECK-NEXT:    ret
@@ -69,10 +63,9 @@ define i64 @add4(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @sub1(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @sub1(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: sub1:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskc a0, a2, a0
 ; CHECK-NEXT:    sub a0, a1, a0
 ; CHECK-NEXT:    ret
@@ -81,10 +74,9 @@ define i64 @sub1(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @sub2(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @sub2(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: sub2:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskcn a0, a2, a0
 ; CHECK-NEXT:    sub a0, a1, a0
 ; CHECK-NEXT:    ret
@@ -93,10 +85,9 @@ define i64 @sub2(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @or1(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @or1(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: or1:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskc a0, a2, a0
 ; CHECK-NEXT:    or a0, a1, a0
 ; CHECK-NEXT:    ret
@@ -105,10 +96,9 @@ define i64 @or1(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @or2(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @or2(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: or2:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskc a0, a1, a0
 ; CHECK-NEXT:    or a0, a2, a0
 ; CHECK-NEXT:    ret
@@ -117,10 +107,9 @@ define i64 @or2(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @or3(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @or3(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: or3:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskcn a0, a2, a0
 ; CHECK-NEXT:    or a0, a1, a0
 ; CHECK-NEXT:    ret
@@ -129,10 +118,9 @@ define i64 @or3(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @or4(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @or4(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: or4:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskcn a0, a1, a0
 ; CHECK-NEXT:    or a0, a2, a0
 ; CHECK-NEXT:    ret
@@ -141,10 +129,9 @@ define i64 @or4(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @xor1(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @xor1(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: xor1:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskc a0, a2, a0
 ; CHECK-NEXT:    xor a0, a1, a0
 ; CHECK-NEXT:    ret
@@ -153,10 +140,9 @@ define i64 @xor1(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @xor2(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @xor2(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: xor2:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskc a0, a1, a0
 ; CHECK-NEXT:    xor a0, a2, a0
 ; CHECK-NEXT:    ret
@@ -165,10 +151,9 @@ define i64 @xor2(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @xor3(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @xor3(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: xor3:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskcn a0, a2, a0
 ; CHECK-NEXT:    xor a0, a1, a0
 ; CHECK-NEXT:    ret
@@ -177,10 +162,9 @@ define i64 @xor3(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @xor4(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @xor4(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: xor4:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskcn a0, a1, a0
 ; CHECK-NEXT:    xor a0, a2, a0
 ; CHECK-NEXT:    ret
@@ -189,25 +173,23 @@ define i64 @xor4(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @and1(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @and1(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: and1:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
-; CHECK-NEXT:    and a2, a1, a2
 ; CHECK-NEXT:    vt.maskcn a0, a1, a0
-; CHECK-NEXT:    or a0, a2, a0
+; CHECK-NEXT:    and a1, a1, a2
+; CHECK-NEXT:    or a0, a1, a0
 ; CHECK-NEXT:    ret
   %and = and i64 %rs1, %rs2
   %sel = select i1 %rc, i64 %and, i64 %rs1
   ret i64 %sel
 }
 
-define i64 @and2(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @and2(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: and2:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
-; CHECK-NEXT:    and a1, a2, a1
 ; CHECK-NEXT:    vt.maskcn a0, a2, a0
+; CHECK-NEXT:    and a1, a2, a1
 ; CHECK-NEXT:    or a0, a1, a0
 ; CHECK-NEXT:    ret
   %and = and i64 %rs1, %rs2
@@ -215,25 +197,23 @@ define i64 @and2(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @and3(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @and3(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: and3:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
-; CHECK-NEXT:    and a2, a1, a2
 ; CHECK-NEXT:    vt.maskc a0, a1, a0
-; CHECK-NEXT:    or a0, a2, a0
+; CHECK-NEXT:    and a1, a1, a2
+; CHECK-NEXT:    or a0, a1, a0
 ; CHECK-NEXT:    ret
   %and = and i64 %rs1, %rs2
   %sel = select i1 %rc, i64 %rs1, i64 %and
   ret i64 %sel
 }
 
-define i64 @and4(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @and4(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: and4:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
-; CHECK-NEXT:    and a1, a2, a1
 ; CHECK-NEXT:    vt.maskc a0, a2, a0
+; CHECK-NEXT:    and a1, a2, a1
 ; CHECK-NEXT:    or a0, a1, a0
 ; CHECK-NEXT:    ret
   %and = and i64 %rs1, %rs2
@@ -241,10 +221,9 @@ define i64 @and4(i1 %rc, i64 %rs1, i64 %rs2) {
   ret i64 %sel
 }
 
-define i64 @basic(i1 %rc, i64 %rs1, i64 %rs2) {
+define i64 @basic(i1 zeroext %rc, i64 %rs1, i64 %rs2) {
 ; CHECK-LABEL: basic:
 ; CHECK:       # %bb.0:
-; CHECK-NEXT:    andi a0, a0, 1
 ; CHECK-NEXT:    vt.maskcn a2, a2, a0
 ; CHECK-NEXT:    vt.maskc a0, a1, a0
 ; CHECK-NEXT:    or a0, a0, a2


        


More information about the llvm-commits mailing list