Skip to content

Commit 8ab5106

Browse files
committed
update to use subtarget isa-future-instructions
1 parent 979fec8 commit 8ab5106

File tree

2 files changed

+37
-32
lines changed

2 files changed

+37
-32
lines changed

clang/include/clang/Basic/BuiltinsPPC.def

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1117,13 +1117,13 @@ UNALIASED_CUSTOM_MMA_BUILTIN(mma_xvbf16ger2, "vW512*VV",
11171117
UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmxvbf16ger2, "vW512*VVi15i15i3",
11181118
"mma,paired-vector-memops")
11191119
UNALIASED_CUSTOM_MMA_BUILTIN(mma_dmxvbf16gerx2, "vW1024*W256V",
1120-
"mma,paired-vector-memops")
1120+
"mma,isa-future-instructions")
11211121
UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmdmxvbf16gerx2, "vW1024*W256Vi255i15i3",
1122-
"mma,paired-vector-memops")
1122+
"mma,isa-future-instructions")
11231123
UNALIASED_CUSTOM_MMA_BUILTIN(mma_dmxvf16gerx2, "vW1024*W256V",
1124-
"mma,paired-vector-memops")
1124+
"mma,isa-future-instructions")
11251125
UNALIASED_CUSTOM_MMA_BUILTIN(mma_pmdmxvf16gerx2, "vW1024*W256Vi255i15i3",
1126-
"mma,paired-vector-memops")
1126+
"mma,isa-future-instructions")
11271127

11281128
// FIXME: Obviously incomplete.
11291129

Lines changed: 33 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
1-
// RUN: not %clang_cc1 -triple powerpc64le-unknown-linux-gnu -target-cpu pwr10 \
2-
// RUN: %s -emit-llvm-only 2>&1 | FileCheck %s
3-
// RUN: not %clang_cc1 -triple powerpc64le-unknown-linux-gnu -target-cpu future \
4-
// RUN: %s -emit-llvm-only 2>&1 | FileCheck %s
1+
// RUN: not %clang_cc1 -triple powerpc64le-unknown-linux-gnu -target-feature -mma \
2+
// RUN: -target-cpu pwr10 %s -emit-llvm-only 2>&1 | \
3+
// RUN: FileCheck --check-prefixes=CHECK,ISA_FUTURE %s
4+
// RUN: not %clang_cc1 -triple powerpc64le-unknown-linux-gnu -target-feature -mma \
5+
// RUN: -target-cpu future %s -emit-llvm-only 2>&1 | \
6+
// RUN: FileCheck --check-prefixes=CHECK,ISA_FUTURE %s
7+
// RUN: not %clang_cc1 -triple powerpc64le-unknown-linux-gnu -target-feature \
8+
// RUN: -isa-future-instructions -target-cpu future %s -emit-llvm-only 2>&1 | \
9+
// RUN: FileCheck --check-prefix=ISA_FUTURE %s
510

6-
__attribute__((target("no-mma")))
11+
//__attribute__((target("no-mma")))
712
void test_mma(unsigned char *vdmrp, unsigned char *vpp, vector unsigned char vc) {
813
__dmr1024 vdmr = *((__dmr1024 *)vdmrp);
914
__vector_pair vp = *((__vector_pair *)vpp);
@@ -23,9 +28,9 @@ void test_mma(unsigned char *vdmrp, unsigned char *vpp, vector unsigned char vc)
2328
// CHECK: error: '__builtin_mma_pmdmxvi8gerx4pp' needs target feature mma,paired-vector-memops
2429
// CHECK: error: '__builtin_mma_dmxvi8gerx4spp' needs target feature mma,paired-vector-memops
2530
// CHECK: error: '__builtin_mma_pmdmxvi8gerx4spp' needs target feature mma,paired-vector-memops
26-
// CHECK: error: '__builtin_mma_dmsetdmrz' needs target feature mma,isa-future-instructions
27-
// CHECK: error: '__builtin_mma_dmmr' needs target feature mma,isa-future-instructions
28-
// CHECK: error: '__builtin_mma_dmxor' needs target feature mma,isa-future-instructions
31+
// ISA_FUTURE: error: '__builtin_mma_dmsetdmrz' needs target feature mma,isa-future-instructions
32+
// ISA_FUTURE: error: '__builtin_mma_dmmr' needs target feature mma,isa-future-instructions
33+
// ISA_FUTURE: error: '__builtin_mma_dmxor' needs target feature mma,isa-future-instructions
2934

3035
// DMF VSX Vector bfloat16 GER 2x builtins.
3136

@@ -40,16 +45,16 @@ void test_mma(unsigned char *vdmrp, unsigned char *vpp, vector unsigned char vc)
4045
__builtin_mma_pmdmxvbf16gerx2pn(&vdmr, vp, vc, 0, 0, 0);
4146
__builtin_mma_pmdmxvbf16gerx2pp(&vdmr, vp, vc, 0, 0, 0);
4247

43-
// CHECK: error: '__builtin_mma_dmxvbf16gerx2' needs target feature mma,paired-vector-memops
44-
// CHECK: error: '__builtin_mma_dmxvbf16gerx2nn' needs target feature mma,paired-vector-memops
45-
// CHECK: error: '__builtin_mma_dmxvbf16gerx2np' needs target feature mma,paired-vector-memops
46-
// CHECK: error: '__builtin_mma_dmxvbf16gerx2pn' needs target feature mma,paired-vector-memops
47-
// CHECK: error: '__builtin_mma_dmxvbf16gerx2pp' needs target feature mma,paired-vector-memops
48-
// CHECK: error: '__builtin_mma_pmdmxvbf16gerx2' needs target feature mma,paired-vector-memops
49-
// CHECK: error: '__builtin_mma_pmdmxvbf16gerx2nn' needs target feature mma,paired-vector-memops
50-
// CHECK: error: '__builtin_mma_pmdmxvbf16gerx2np' needs target feature mma,paired-vector-memops
51-
// CHECK: error: '__builtin_mma_pmdmxvbf16gerx2pn' needs target feature mma,paired-vector-memops
52-
// CHECK: error: '__builtin_mma_pmdmxvbf16gerx2pp' needs target feature mma,paired-vector-memops
48+
// ISA_FUTURE: error: '__builtin_mma_dmxvbf16gerx2' needs target feature mma,isa-future-instructions
49+
// ISA_FUTURE: error: '__builtin_mma_dmxvbf16gerx2nn' needs target feature mma,isa-future-instructions
50+
// ISA_FUTURE: error: '__builtin_mma_dmxvbf16gerx2np' needs target feature mma,isa-future-instructions
51+
// ISA_FUTURE: error: '__builtin_mma_dmxvbf16gerx2pn' needs target feature mma,isa-future-instructions
52+
// ISA_FUTURE: error: '__builtin_mma_dmxvbf16gerx2pp' needs target feature mma,isa-future-instructions
53+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvbf16gerx2' needs target feature mma,isa-future-instructions
54+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvbf16gerx2nn' needs target feature mma,isa-future-instructions
55+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvbf16gerx2np' needs target feature mma,isa-future-instructions
56+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvbf16gerx2pn' needs target feature mma,isa-future-instructions
57+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvbf16gerx2pp' needs target feature mma,isa-future-instructions
5358

5459
// DMF VSX Vector 16-bitFloating-point GER 2x builtins.
5560

@@ -64,14 +69,14 @@ void test_mma(unsigned char *vdmrp, unsigned char *vpp, vector unsigned char vc)
6469
__builtin_mma_pmdmxvf16gerx2pn(&vdmr, vp, vc, 0, 0, 0);
6570
__builtin_mma_pmdmxvf16gerx2pp(&vdmr, vp, vc, 0, 0, 0);
6671

67-
// CHECK: error: '__builtin_mma_dmxvf16gerx2' needs target feature mma,paired-vector-memops
68-
// CHECK: error: '__builtin_mma_dmxvf16gerx2nn' needs target feature mma,paired-vector-memops
69-
// CHECK: error: '__builtin_mma_dmxvf16gerx2np' needs target feature mma,paired-vector-memops
70-
// CHECK: error: '__builtin_mma_dmxvf16gerx2pn' needs target feature mma,paired-vector-memops
71-
// CHECK: error: '__builtin_mma_dmxvf16gerx2pp' needs target feature mma,paired-vector-memops
72-
// CHECK: error: '__builtin_mma_pmdmxvf16gerx2' needs target feature mma,paired-vector-memops
73-
// CHECK: error: '__builtin_mma_pmdmxvf16gerx2nn' needs target feature mma,paired-vector-memops
74-
// CHECK: error: '__builtin_mma_pmdmxvf16gerx2np' needs target feature mma,paired-vector-memops
75-
// CHECK: error: '__builtin_mma_pmdmxvf16gerx2pn' needs target feature mma,paired-vector-memops
76-
// CHECK: error: '__builtin_mma_pmdmxvf16gerx2pp' needs target feature mma,paired-vector-memops
72+
// ISA_FUTURE: error: '__builtin_mma_dmxvf16gerx2' needs target feature mma,isa-future-instructions
73+
// ISA_FUTURE: error: '__builtin_mma_dmxvf16gerx2nn' needs target feature mma,isa-future-instructions
74+
// ISA_FUTURE: error: '__builtin_mma_dmxvf16gerx2np' needs target feature mma,isa-future-instructions
75+
// ISA_FUTURE: error: '__builtin_mma_dmxvf16gerx2pn' needs target feature mma,isa-future-instructions
76+
// ISA_FUTURE: error: '__builtin_mma_dmxvf16gerx2pp' needs target feature mma,isa-future-instructions
77+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvf16gerx2' needs target feature mma,isa-future-instructions
78+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvf16gerx2nn' needs target feature mma,isa-future-instructions
79+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvf16gerx2np' needs target feature mma,isa-future-instructions
80+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvf16gerx2pn' needs target feature mma,isa-future-instructions
81+
// ISA_FUTURE: error: '__builtin_mma_pmdmxvf16gerx2pp' needs target feature mma,isa-future-instructions
7782
}

0 commit comments

Comments
 (0)