[llvm] 6f25cb8 - [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction
Ting Wang via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 26 20:01:18 PST 2022
Author: Ting Wang
Date: 2022-01-26T23:00:43-05:00
New Revision: 6f25cb86854a1886a69a69f67d8919b59039434e
URL: https://github.com/llvm/llvm-project/commit/6f25cb86854a1886a69a69f67d8919b59039434e
DIFF: https://github.com/llvm/llvm-project/commit/6f25cb86854a1886a69a69f67d8919b59039434e.diff
LOG: [PowerPC] Add the Power10 XS[MAX|MIN]CQP instruction
Add the Power 10 instruction XS[MAX|MIN]CQP.
Reviewed By: shchenz, amyk
Differential Revision: https://reviews.llvm.org/D118036
Added:
Modified:
llvm/lib/Target/PowerPC/P10InstrResources.td
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/P10InstrResources.td b/llvm/lib/Target/PowerPC/P10InstrResources.td
index 68a1c225cb05d..edd3b42d47e1f 100644
--- a/llvm/lib/Target/PowerPC/P10InstrResources.td
+++ b/llvm/lib/Target/PowerPC/P10InstrResources.td
@@ -619,6 +619,8 @@ def : InstRW<[P10W_DX_5C, P10W_DISP_ANY, P10DX_Read, P10DX_Read],
XSCMPEXPQP,
XSCMPOQP,
XSCMPUQP,
+ XSMAXCQP,
+ XSMINCQP,
XSTSTDCQP,
XXGENPCVBM
)>;
diff --git a/llvm/lib/Target/PowerPC/PPCInstrPrefix.td b/llvm/lib/Target/PowerPC/PPCInstrPrefix.td
index a19289e96b3e9..fe354208533ba 100644
--- a/llvm/lib/Target/PowerPC/PPCInstrPrefix.td
+++ b/llvm/lib/Target/PowerPC/PPCInstrPrefix.td
@@ -2398,6 +2398,8 @@ let Predicates = [IsISA3_1] in {
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, []>;
+ def XSMAXCQP : X_VT5_VA5_VB5<63, 676, "xsmaxcqp", []>;
+ def XSMINCQP : X_VT5_VA5_VB5<63, 740, "xsmincqp", []>;
}
// Multiclass defining patterns for Set Boolean Extension Reverse Instructions.
diff --git a/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt b/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
index 7b4f2cb8b6566..1ac3c26521014 100644
--- a/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
+++ b/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-ISA31.txt
@@ -738,6 +738,12 @@
# CHECK: xscvsqqp 8, 28
0xfd 0xb 0xe6 0x88
+# CHECK: xsmaxcqp 2, 2, 3
+0xfc 0x42 0x1d 0x48
+
+# CHECK: xsmincqp 2, 2, 3
+0xfc 0x42 0x1d 0xc8
+
# CHECK: vstribr 2, 2
0x10 0x41 0x10 0x0d
diff --git a/llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s b/llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
index f237a68925848..27638ae3c4803 100644
--- a/llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
+++ b/llvm/test/MC/PowerPC/ppc64-encoding-ISA31.s
@@ -936,6 +936,12 @@
# CHECK-BE: xscvsqqp 8, 28 # encoding: [0xfd,0x0b,0xe6,0x88]
# CHECK-LE: xscvsqqp 8, 28 # encoding: [0x88,0xe6,0x0b,0xfd]
xscvsqqp 8, 28
+# CHECK-BE: xsmaxcqp 2, 2, 3 # encoding: [0xfc,0x42,0x1d,0x48]
+# CHECK-LE: xsmaxcqp 2, 2, 3 # encoding: [0x48,0x1d,0x42,0xfc]
+ xsmaxcqp 2, 2, 3
+# CHECK-BE: xsmincqp 2, 2, 3 # encoding: [0xfc,0x42,0x1d,0xc8]
+# CHECK-LE: xsmincqp 2, 2, 3 # encoding: [0xc8,0x1d,0x42,0xfc]
+ xsmincqp 2, 2, 3
# CHECK-BE: vstribr 2, 2 # encoding: [0x10,0x41,0x10,0x0d]
# CHECK-LE: vstribr 2, 2 # encoding: [0x0d,0x10,0x41,0x10]
vstribr 2, 2
More information about the llvm-commits
mailing list