[llvm] ca2227c - [PowerPC] Implement instruction definitions/MC Tests for xvcvspbf16 and xvcvbf16spn

Amy Kwan via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 1 08:59:57 PDT 2020


Author: Amy Kwan
Date: 2020-09-01T10:59:43-05:00
New Revision: ca2227c1b3f52611de7d051ffea91b0c6c21e1ac

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

LOG: [PowerPC] Implement instruction definitions/MC Tests for xvcvspbf16 and xvcvbf16spn

This patch adds the td instruction definitions of the xvcvspbf16 and xvcvbf16spn
instructions, along with their respective MC tests.

Differential Revision: https://reviews.llvm.org/D86794

Added: 
    

Modified: 
    llvm/lib/Target/PowerPC/PPCInstrPrefix.td
    llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
    llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/PowerPC/PPCInstrPrefix.td b/llvm/lib/Target/PowerPC/PPCInstrPrefix.td
index f5176850836e..fc4e57ec04f6 100644
--- a/llvm/lib/Target/PowerPC/PPCInstrPrefix.td
+++ b/llvm/lib/Target/PowerPC/PPCInstrPrefix.td
@@ -1300,6 +1300,11 @@ let Predicates = [IsISA3_1] in {
   def XSCVSQQP : X_VT5_XO5_VB5<63, 11, 836, "xscvsqqp", []>;
 }
 
+let Predicates = [IsISA3_1, HasVSX] in {
+  def XVCVSPBF16 : XX2_XT6_XO5_XB6<60, 17, 475, "xvcvspbf16", vsrc, []>;
+  def XVCVBF16SPN : XX2_XT6_XO5_XB6<60, 16, 475, "xvcvbf16spn", vsrc, []>;
+}
+
 //---------------------------- Anonymous Patterns ----------------------------//
 let Predicates = [IsISA3_1] in {
   // Exploit the vector multiply high instructions using intrinsics.

diff  --git a/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt b/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
index eb17515de0ca..a07f10d1bf6b 100644
--- a/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
+++ b/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
@@ -542,3 +542,9 @@
 
 # CHECK: vstrihl. 2, 2
 0x10 0x42 0x14 0x0d
+
+# CHECK: xvcvspbf16 33, 34
+0xf0 0x31 0x17 0x6f
+
+# CHECK: xvcvbf16spn 33, 34
+0xf0 0x30 0x17 0x6f

diff  --git a/llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s b/llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
index d925f717d054..29e9a7a74bf6 100644
--- a/llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
+++ b/llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
@@ -666,3 +666,9 @@
 # CHECK-BE: vstrihl. 2, 2                         # encoding: [0x10,0x42,0x14,0x0d]
 # CHECK-LE: vstrihl. 2, 2                         # encoding: [0x0d,0x14,0x42,0x10]
             vstrihl. 2, 2
+# CHECK-BE: xvcvspbf16 33, 34                     # encoding: [0xf0,0x31,0x17,0x6f]
+# CHECK-LE: xvcvspbf16 33, 34                     # encoding: [0x6f,0x17,0x31,0xf0]
+            xvcvspbf16 33, 34
+# CHECK-BE: xvcvbf16spn 33, 34                    # encoding: [0xf0,0x30,0x17,0x6f]
+# CHECK-LE: xvcvbf16spn 33, 34                    # encoding: [0x6f,0x17,0x30,0xf0]
+            xvcvbf16spn 33, 34


        


More information about the llvm-commits mailing list