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

Amy Kwan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 28 10:08:23 PDT 2020


amyk created this revision.
amyk added reviewers: nemanjai, lei, bsaleil, power-llvm-team, PowerPC.
amyk added projects: LLVM, PowerPC.
Herald added subscribers: llvm-commits, shchenz, hiraditya.
amyk requested review of this revision.

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


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D86794

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


Index: llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
===================================================================
--- llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
+++ 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
Index: llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
===================================================================
--- llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
+++ 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
Index: llvm/lib/Target/PowerPC/PPCInstrPrefix.td
===================================================================
--- llvm/lib/Target/PowerPC/PPCInstrPrefix.td
+++ llvm/lib/Target/PowerPC/PPCInstrPrefix.td
@@ -1291,6 +1291,11 @@
   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.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D86794.288645.patch
Type: text/x-patch
Size: 1947 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200828/c05f51ee/attachment-0001.bin>


More information about the llvm-commits mailing list