[PATCH] D152894: [RISCV][MC] Fix encoding for vfwmaccbf16

Alex Bradbury via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 14 02:13:11 PDT 2023


asb created this revision.
asb added reviewers: reames, craig.topper.
Herald added subscribers: jobnoorman, luke, wingo, pmatos, VincentWu, vkmr, frasercrmck, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, hiraditya, arichardson.
Herald added a project: All.
asb requested review of this revision.
Herald added subscribers: pcwang-thead, eopXD, MaskRay.
Herald added a project: LLVM.

The encoding matched the one given in the bf16 extension specification PDF, but per https://github.com/riscv/riscv-bfloat16/issues/45 it seems this encoding was not the one that is intended and was incorrectly modified due to an issue in the PDF generation process. This patch corrects the opcode to 111011 from 100011.


https://reviews.llvm.org/D152894

Files:
  llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
  llvm/test/MC/RISCV/rvv/zvfbfwma.s


Index: llvm/test/MC/RISCV/rvv/zvfbfwma.s
===================================================================
--- llvm/test/MC/RISCV/rvv/zvfbfwma.s
+++ llvm/test/MC/RISCV/rvv/zvfbfwma.s
@@ -18,27 +18,27 @@
 # RUN:    | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN
 
 # CHECK-INST: vfwmaccbf16.vv v8, v20, v4, v0.t
-# CHECK-ENCODING: [0x57,0x14,0x4a,0x8c]
+# CHECK-ENCODING: [0x57,0x14,0x4a,0xec]
 # CHECK-ERROR: instruction requires the following: 'Zvfbfwma' (Vector BF16 widening mul-add){{$}}
-# CHECK-UNKNOWN: 57 14 4a 8c <unknown>
+# CHECK-UNKNOWN: 57 14 4a ec <unknown>
 vfwmaccbf16.vv v8, v20, v4, v0.t
 
 # CHECK-INST: vfwmaccbf16.vv v8, v20, v4
-# CHECK-ENCODING: [0x57,0x14,0x4a,0x8e]
+# CHECK-ENCODING: [0x57,0x14,0x4a,0xee]
 # CHECK-ERROR: instruction requires the following: 'Zvfbfwma' (Vector BF16 widening mul-add){{$}}
-# CHECK-UNKNOWN: 57 14 4a 8e <unknown>
+# CHECK-UNKNOWN: 57 14 4a ee <unknown>
 vfwmaccbf16.vv v8, v20, v4
 
 # CHECK-INST: vfwmaccbf16.vf v8, fa0, v4, v0.t
-# CHECK-ENCODING: [0x57,0x54,0x45,0x8c]
+# CHECK-ENCODING: [0x57,0x54,0x45,0xec]
 # CHECK-ERROR: instruction requires the following: 'Zvfbfwma' (Vector BF16 widening mul-add){{$}}
-# CHECK-UNKNOWN: 57 54 45 8c <unknown>
+# CHECK-UNKNOWN: 57 54 45 ec <unknown>
 vfwmaccbf16.vf v8, fa0, v4, v0.t
 
 # CHECK-INST: vfwmaccbf16.vf v8, fa0, v4
-# CHECK-ENCODING: [0x57,0x54,0x45,0x8e]
+# CHECK-ENCODING: [0x57,0x54,0x45,0xee]
 # CHECK-ERROR: instruction requires the following: 'Zvfbfwma' (Vector BF16 widening mul-add){{$}}
-# CHECK-UNKNOWN: 57 54 45 8e <unknown>
+# CHECK-UNKNOWN: 57 54 45 ee <unknown>
 vfwmaccbf16.vf v8, fa0, v4
 
 # Check scalar half FP load/store/move included in this extension.
Index: llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
===================================================================
--- llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
+++ llvm/lib/Target/RISCV/RISCVInstrInfoZvfbf.td
@@ -27,5 +27,5 @@
 
 let Predicates = [HasStdExtZvfbfwma], Constraints = "@earlyclobber $vd",
     RVVConstraint = WidenV, Uses = [FRM], mayRaiseFPException = true in {
-defm VFWMACCBF16_V : VWMAC_FV_V_F<"vfwmaccbf16", 0b100011>;
+defm VFWMACCBF16_V : VWMAC_FV_V_F<"vfwmaccbf16", 0b111011>;
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D152894.531234.patch
Type: text/x-patch
Size: 2218 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230614/9956ed48/attachment.bin>


More information about the llvm-commits mailing list