[clang] 0577f4b - [Hexagon] Add HVX and control register names to Hexagon target
Krzysztof Parzyszek via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 14 15:15:17 PDT 2021
Author: Krzysztof Parzyszek
Date: 2021-06-14T17:14:37-05:00
New Revision: 0577f4b1789eff410f5b28434a4f7854a50dc639
URL: https://github.com/llvm/llvm-project/commit/0577f4b1789eff410f5b28434a4f7854a50dc639
DIFF: https://github.com/llvm/llvm-project/commit/0577f4b1789eff410f5b28434a4f7854a50dc639.diff
LOG: [Hexagon] Add HVX and control register names to Hexagon target
Added:
clang/test/CodeGen/hexagon-inline-asm-reg-names.c
Modified:
clang/lib/Basic/Targets/Hexagon.cpp
Removed:
################################################################################
diff --git a/clang/lib/Basic/Targets/Hexagon.cpp b/clang/lib/Basic/Targets/Hexagon.cpp
index d1613fb229307..9c37dee7e89a4 100644
--- a/clang/lib/Basic/Targets/Hexagon.cpp
+++ b/clang/lib/Basic/Targets/Hexagon.cpp
@@ -132,14 +132,37 @@ bool HexagonTargetInfo::handleTargetFeatures(std::vector<std::string> &Features,
}
const char *const HexagonTargetInfo::GCCRegNames[] = {
- "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8",
- "r9", "r10", "r11", "r12", "r13", "r14", "r15", "r16", "r17",
- "r18", "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26",
- "r27", "r28", "r29", "r30", "r31", "p0", "p1", "p2", "p3",
- "sa0", "lc0", "sa1", "lc1", "m0", "m1", "usr", "ugp", "cs0", "cs1",
+ // Scalar registers:
+ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", "r8", "r9", "r10", "r11",
+ "r12", "r13", "r14", "r15", "r16", "r17", "r18", "r19", "r20", "r21",
+ "r22", "r23", "r24", "r25", "r26", "r27", "r28", "r29", "r30", "r31",
"r1:0", "r3:2", "r5:4", "r7:6", "r9:8", "r11:10", "r13:12", "r15:14",
"r17:16", "r19:18", "r21:20", "r23:22", "r25:24", "r27:26", "r29:28",
- "r31:30"
+ "r31:30",
+ // Predicate registers:
+ "p0", "p1", "p2", "p3",
+ // Control registers:
+ "c0", "c1", "c2", "c3", "c4", "c5", "c6", "c7", "c8", "c9", "c10", "c11",
+ "c12", "c13", "c14", "c15", "c16", "c17", "c18", "c19", "c20", "c21",
+ "c22", "c23", "c24", "c25", "c26", "c27", "c28", "c29", "c30", "c31",
+ "c1:0", "c3:2", "c5:4", "c7:6", "c9:8", "c11:10", "c13:12", "c15:14",
+ "c17:16", "c19:18", "c21:20", "c23:22", "c25:24", "c27:26", "c29:28",
+ "c31:30",
+ // Control register aliases:
+ "sa0", "lc0", "sa1", "lc1", "p3:0", "m0", "m1", "usr", "pc", "ugp",
+ "gp", "cs0", "cs1", "upcyclelo", "upcyclehi", "framelimit", "framekey",
+ "pktcountlo", "pktcounthi", "utimerlo", "utimerhi",
+ "upcycle", "pktcount", "utimer",
+ // HVX vector registers:
+ "v0", "v1", "v2", "v3", "v4", "v5", "v6", "v7", "v8", "v9", "v10", "v11",
+ "v12", "v13", "v14", "v15", "v16", "v17", "v18", "v19", "v20", "v21",
+ "v22", "v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31",
+ "v1:0", "v3:2", "v5:4", "v7:6", "v9:8", "v11:10", "v13:12", "v15:14",
+ "v17:16", "v19:18", "v21:20", "v23:22", "v25:24", "v27:26", "v29:28",
+ "v31:30",
+ "v3:0", "v7:4", "v11:8", "v15:12", "v19:16", "v23:20", "v27:24", "v31:28",
+ // HVX vector predicates:
+ "q0", "q1", "q2", "q3",
};
ArrayRef<const char *> HexagonTargetInfo::getGCCRegNames() const {
diff --git a/clang/test/CodeGen/hexagon-inline-asm-reg-names.c b/clang/test/CodeGen/hexagon-inline-asm-reg-names.c
new file mode 100644
index 0000000000000..2a107eba613c7
--- /dev/null
+++ b/clang/test/CodeGen/hexagon-inline-asm-reg-names.c
@@ -0,0 +1,922 @@
+// RUN: %clang_cc1 -triple hexagon-unknown-elf -target-feature +hvx -target-feature +hvx-length128b -emit-llvm -o - %s | FileCheck %s
+
+void test_r0() {
+ // CHECK: define {{.*}}void @test_r0
+ // CHECK: call void asm sideeffect "nop", "~{r0}"()
+ asm("nop" ::: "r0");
+}
+void test_r1() {
+ // CHECK: define {{.*}}void @test_r1
+ // CHECK: call void asm sideeffect "nop", "~{r1}"()
+ asm("nop" ::: "r1");
+}
+void test_r2() {
+ // CHECK: define {{.*}}void @test_r2
+ // CHECK: call void asm sideeffect "nop", "~{r2}"()
+ asm("nop" ::: "r2");
+}
+void test_r3() {
+ // CHECK: define {{.*}}void @test_r3
+ // CHECK: call void asm sideeffect "nop", "~{r3}"()
+ asm("nop" ::: "r3");
+}
+void test_r4() {
+ // CHECK: define {{.*}}void @test_r4
+ // CHECK: call void asm sideeffect "nop", "~{r4}"()
+ asm("nop" ::: "r4");
+}
+void test_r5() {
+ // CHECK: define {{.*}}void @test_r5
+ // CHECK: call void asm sideeffect "nop", "~{r5}"()
+ asm("nop" ::: "r5");
+}
+void test_r6() {
+ // CHECK: define {{.*}}void @test_r6
+ // CHECK: call void asm sideeffect "nop", "~{r6}"()
+ asm("nop" ::: "r6");
+}
+void test_r7() {
+ // CHECK: define {{.*}}void @test_r7
+ // CHECK: call void asm sideeffect "nop", "~{r7}"()
+ asm("nop" ::: "r7");
+}
+void test_r8() {
+ // CHECK: define {{.*}}void @test_r8
+ // CHECK: call void asm sideeffect "nop", "~{r8}"()
+ asm("nop" ::: "r8");
+}
+void test_r9() {
+ // CHECK: define {{.*}}void @test_r9
+ // CHECK: call void asm sideeffect "nop", "~{r9}"()
+ asm("nop" ::: "r9");
+}
+void test_r10() {
+ // CHECK: define {{.*}}void @test_r10
+ // CHECK: call void asm sideeffect "nop", "~{r10}"()
+ asm("nop" ::: "r10");
+}
+void test_r11() {
+ // CHECK: define {{.*}}void @test_r11
+ // CHECK: call void asm sideeffect "nop", "~{r11}"()
+ asm("nop" ::: "r11");
+}
+void test_r12() {
+ // CHECK: define {{.*}}void @test_r12
+ // CHECK: call void asm sideeffect "nop", "~{r12}"()
+ asm("nop" ::: "r12");
+}
+void test_r13() {
+ // CHECK: define {{.*}}void @test_r13
+ // CHECK: call void asm sideeffect "nop", "~{r13}"()
+ asm("nop" ::: "r13");
+}
+void test_r14() {
+ // CHECK: define {{.*}}void @test_r14
+ // CHECK: call void asm sideeffect "nop", "~{r14}"()
+ asm("nop" ::: "r14");
+}
+void test_r15() {
+ // CHECK: define {{.*}}void @test_r15
+ // CHECK: call void asm sideeffect "nop", "~{r15}"()
+ asm("nop" ::: "r15");
+}
+void test_r16() {
+ // CHECK: define {{.*}}void @test_r16
+ // CHECK: call void asm sideeffect "nop", "~{r16}"()
+ asm("nop" ::: "r16");
+}
+void test_r17() {
+ // CHECK: define {{.*}}void @test_r17
+ // CHECK: call void asm sideeffect "nop", "~{r17}"()
+ asm("nop" ::: "r17");
+}
+void test_r18() {
+ // CHECK: define {{.*}}void @test_r18
+ // CHECK: call void asm sideeffect "nop", "~{r18}"()
+ asm("nop" ::: "r18");
+}
+void test_r19() {
+ // CHECK: define {{.*}}void @test_r19
+ // CHECK: call void asm sideeffect "nop", "~{r19}"()
+ asm("nop" ::: "r19");
+}
+void test_r20() {
+ // CHECK: define {{.*}}void @test_r20
+ // CHECK: call void asm sideeffect "nop", "~{r20}"()
+ asm("nop" ::: "r20");
+}
+void test_r21() {
+ // CHECK: define {{.*}}void @test_r21
+ // CHECK: call void asm sideeffect "nop", "~{r21}"()
+ asm("nop" ::: "r21");
+}
+void test_r22() {
+ // CHECK: define {{.*}}void @test_r22
+ // CHECK: call void asm sideeffect "nop", "~{r22}"()
+ asm("nop" ::: "r22");
+}
+void test_r23() {
+ // CHECK: define {{.*}}void @test_r23
+ // CHECK: call void asm sideeffect "nop", "~{r23}"()
+ asm("nop" ::: "r23");
+}
+void test_r24() {
+ // CHECK: define {{.*}}void @test_r24
+ // CHECK: call void asm sideeffect "nop", "~{r24}"()
+ asm("nop" ::: "r24");
+}
+void test_r25() {
+ // CHECK: define {{.*}}void @test_r25
+ // CHECK: call void asm sideeffect "nop", "~{r25}"()
+ asm("nop" ::: "r25");
+}
+void test_r26() {
+ // CHECK: define {{.*}}void @test_r26
+ // CHECK: call void asm sideeffect "nop", "~{r26}"()
+ asm("nop" ::: "r26");
+}
+void test_r27() {
+ // CHECK: define {{.*}}void @test_r27
+ // CHECK: call void asm sideeffect "nop", "~{r27}"()
+ asm("nop" ::: "r27");
+}
+void test_r28() {
+ // CHECK: define {{.*}}void @test_r28
+ // CHECK: call void asm sideeffect "nop", "~{r28}"()
+ asm("nop" ::: "r28");
+}
+void test_r29() {
+ // CHECK: define {{.*}}void @test_r29
+ // CHECK: call void asm sideeffect "nop", "~{r29}"()
+ asm("nop" ::: "r29");
+}
+void test_r30() {
+ // CHECK: define {{.*}}void @test_r30
+ // CHECK: call void asm sideeffect "nop", "~{r30}"()
+ asm("nop" ::: "r30");
+}
+void test_r31() {
+ // CHECK: define {{.*}}void @test_r31
+ // CHECK: call void asm sideeffect "nop", "~{r31}"()
+ asm("nop" ::: "r31");
+}
+void test_r1_0() {
+ // CHECK: define {{.*}}void @test_r1_0
+ // CHECK: call void asm sideeffect "nop", "~{r1:0}"()
+ asm("nop" ::: "r1:0");
+}
+void test_r3_2() {
+ // CHECK: define {{.*}}void @test_r3_2
+ // CHECK: call void asm sideeffect "nop", "~{r3:2}"()
+ asm("nop" ::: "r3:2");
+}
+void test_r5_4() {
+ // CHECK: define {{.*}}void @test_r5_4
+ // CHECK: call void asm sideeffect "nop", "~{r5:4}"()
+ asm("nop" ::: "r5:4");
+}
+void test_r7_6() {
+ // CHECK: define {{.*}}void @test_r7_6
+ // CHECK: call void asm sideeffect "nop", "~{r7:6}"()
+ asm("nop" ::: "r7:6");
+}
+void test_r9_8() {
+ // CHECK: define {{.*}}void @test_r9_8
+ // CHECK: call void asm sideeffect "nop", "~{r9:8}"()
+ asm("nop" ::: "r9:8");
+}
+void test_r11_10() {
+ // CHECK: define {{.*}}void @test_r11_10
+ // CHECK: call void asm sideeffect "nop", "~{r11:10}"()
+ asm("nop" ::: "r11:10");
+}
+void test_r13_12() {
+ // CHECK: define {{.*}}void @test_r13_12
+ // CHECK: call void asm sideeffect "nop", "~{r13:12}"()
+ asm("nop" ::: "r13:12");
+}
+void test_r15_14() {
+ // CHECK: define {{.*}}void @test_r15_14
+ // CHECK: call void asm sideeffect "nop", "~{r15:14}"()
+ asm("nop" ::: "r15:14");
+}
+void test_r17_16() {
+ // CHECK: define {{.*}}void @test_r17_16
+ // CHECK: call void asm sideeffect "nop", "~{r17:16}"()
+ asm("nop" ::: "r17:16");
+}
+void test_r19_18() {
+ // CHECK: define {{.*}}void @test_r19_18
+ // CHECK: call void asm sideeffect "nop", "~{r19:18}"()
+ asm("nop" ::: "r19:18");
+}
+void test_r21_20() {
+ // CHECK: define {{.*}}void @test_r21_20
+ // CHECK: call void asm sideeffect "nop", "~{r21:20}"()
+ asm("nop" ::: "r21:20");
+}
+void test_r23_22() {
+ // CHECK: define {{.*}}void @test_r23_22
+ // CHECK: call void asm sideeffect "nop", "~{r23:22}"()
+ asm("nop" ::: "r23:22");
+}
+void test_r25_24() {
+ // CHECK: define {{.*}}void @test_r25_24
+ // CHECK: call void asm sideeffect "nop", "~{r25:24}"()
+ asm("nop" ::: "r25:24");
+}
+void test_r27_26() {
+ // CHECK: define {{.*}}void @test_r27_26
+ // CHECK: call void asm sideeffect "nop", "~{r27:26}"()
+ asm("nop" ::: "r27:26");
+}
+void test_r29_28() {
+ // CHECK: define {{.*}}void @test_r29_28
+ // CHECK: call void asm sideeffect "nop", "~{r29:28}"()
+ asm("nop" ::: "r29:28");
+}
+void test_r31_30() {
+ // CHECK: define {{.*}}void @test_r31_30
+ // CHECK: call void asm sideeffect "nop", "~{r31:30}"()
+ asm("nop" ::: "r31:30");
+}
+void test_p0() {
+ // CHECK: define {{.*}}void @test_p0
+ // CHECK: call void asm sideeffect "nop", "~{p0}"()
+ asm("nop" ::: "p0");
+}
+void test_p1() {
+ // CHECK: define {{.*}}void @test_p1
+ // CHECK: call void asm sideeffect "nop", "~{p1}"()
+ asm("nop" ::: "p1");
+}
+void test_p2() {
+ // CHECK: define {{.*}}void @test_p2
+ // CHECK: call void asm sideeffect "nop", "~{p2}"()
+ asm("nop" ::: "p2");
+}
+void test_p3() {
+ // CHECK: define {{.*}}void @test_p3
+ // CHECK: call void asm sideeffect "nop", "~{p3}"()
+ asm("nop" ::: "p3");
+}
+void test_c0() {
+ // CHECK: define {{.*}}void @test_c0
+ // CHECK: call void asm sideeffect "nop", "~{c0}"()
+ asm("nop" ::: "c0");
+}
+void test_c1() {
+ // CHECK: define {{.*}}void @test_c1
+ // CHECK: call void asm sideeffect "nop", "~{c1}"()
+ asm("nop" ::: "c1");
+}
+void test_c2() {
+ // CHECK: define {{.*}}void @test_c2
+ // CHECK: call void asm sideeffect "nop", "~{c2}"()
+ asm("nop" ::: "c2");
+}
+void test_c3() {
+ // CHECK: define {{.*}}void @test_c3
+ // CHECK: call void asm sideeffect "nop", "~{c3}"()
+ asm("nop" ::: "c3");
+}
+void test_c4() {
+ // CHECK: define {{.*}}void @test_c4
+ // CHECK: call void asm sideeffect "nop", "~{c4}"()
+ asm("nop" ::: "c4");
+}
+void test_c5() {
+ // CHECK: define {{.*}}void @test_c5
+ // CHECK: call void asm sideeffect "nop", "~{c5}"()
+ asm("nop" ::: "c5");
+}
+void test_c6() {
+ // CHECK: define {{.*}}void @test_c6
+ // CHECK: call void asm sideeffect "nop", "~{c6}"()
+ asm("nop" ::: "c6");
+}
+void test_c7() {
+ // CHECK: define {{.*}}void @test_c7
+ // CHECK: call void asm sideeffect "nop", "~{c7}"()
+ asm("nop" ::: "c7");
+}
+void test_c8() {
+ // CHECK: define {{.*}}void @test_c8
+ // CHECK: call void asm sideeffect "nop", "~{c8}"()
+ asm("nop" ::: "c8");
+}
+void test_c9() {
+ // CHECK: define {{.*}}void @test_c9
+ // CHECK: call void asm sideeffect "nop", "~{c9}"()
+ asm("nop" ::: "c9");
+}
+void test_c10() {
+ // CHECK: define {{.*}}void @test_c10
+ // CHECK: call void asm sideeffect "nop", "~{c10}"()
+ asm("nop" ::: "c10");
+}
+void test_c11() {
+ // CHECK: define {{.*}}void @test_c11
+ // CHECK: call void asm sideeffect "nop", "~{c11}"()
+ asm("nop" ::: "c11");
+}
+void test_c12() {
+ // CHECK: define {{.*}}void @test_c12
+ // CHECK: call void asm sideeffect "nop", "~{c12}"()
+ asm("nop" ::: "c12");
+}
+void test_c13() {
+ // CHECK: define {{.*}}void @test_c13
+ // CHECK: call void asm sideeffect "nop", "~{c13}"()
+ asm("nop" ::: "c13");
+}
+void test_c14() {
+ // CHECK: define {{.*}}void @test_c14
+ // CHECK: call void asm sideeffect "nop", "~{c14}"()
+ asm("nop" ::: "c14");
+}
+void test_c15() {
+ // CHECK: define {{.*}}void @test_c15
+ // CHECK: call void asm sideeffect "nop", "~{c15}"()
+ asm("nop" ::: "c15");
+}
+void test_c16() {
+ // CHECK: define {{.*}}void @test_c16
+ // CHECK: call void asm sideeffect "nop", "~{c16}"()
+ asm("nop" ::: "c16");
+}
+void test_c17() {
+ // CHECK: define {{.*}}void @test_c17
+ // CHECK: call void asm sideeffect "nop", "~{c17}"()
+ asm("nop" ::: "c17");
+}
+void test_c18() {
+ // CHECK: define {{.*}}void @test_c18
+ // CHECK: call void asm sideeffect "nop", "~{c18}"()
+ asm("nop" ::: "c18");
+}
+void test_c19() {
+ // CHECK: define {{.*}}void @test_c19
+ // CHECK: call void asm sideeffect "nop", "~{c19}"()
+ asm("nop" ::: "c19");
+}
+void test_c20() {
+ // CHECK: define {{.*}}void @test_c20
+ // CHECK: call void asm sideeffect "nop", "~{c20}"()
+ asm("nop" ::: "c20");
+}
+void test_c21() {
+ // CHECK: define {{.*}}void @test_c21
+ // CHECK: call void asm sideeffect "nop", "~{c21}"()
+ asm("nop" ::: "c21");
+}
+void test_c22() {
+ // CHECK: define {{.*}}void @test_c22
+ // CHECK: call void asm sideeffect "nop", "~{c22}"()
+ asm("nop" ::: "c22");
+}
+void test_c23() {
+ // CHECK: define {{.*}}void @test_c23
+ // CHECK: call void asm sideeffect "nop", "~{c23}"()
+ asm("nop" ::: "c23");
+}
+void test_c24() {
+ // CHECK: define {{.*}}void @test_c24
+ // CHECK: call void asm sideeffect "nop", "~{c24}"()
+ asm("nop" ::: "c24");
+}
+void test_c25() {
+ // CHECK: define {{.*}}void @test_c25
+ // CHECK: call void asm sideeffect "nop", "~{c25}"()
+ asm("nop" ::: "c25");
+}
+void test_c26() {
+ // CHECK: define {{.*}}void @test_c26
+ // CHECK: call void asm sideeffect "nop", "~{c26}"()
+ asm("nop" ::: "c26");
+}
+void test_c27() {
+ // CHECK: define {{.*}}void @test_c27
+ // CHECK: call void asm sideeffect "nop", "~{c27}"()
+ asm("nop" ::: "c27");
+}
+void test_c28() {
+ // CHECK: define {{.*}}void @test_c28
+ // CHECK: call void asm sideeffect "nop", "~{c28}"()
+ asm("nop" ::: "c28");
+}
+void test_c29() {
+ // CHECK: define {{.*}}void @test_c29
+ // CHECK: call void asm sideeffect "nop", "~{c29}"()
+ asm("nop" ::: "c29");
+}
+void test_c30() {
+ // CHECK: define {{.*}}void @test_c30
+ // CHECK: call void asm sideeffect "nop", "~{c30}"()
+ asm("nop" ::: "c30");
+}
+void test_c31() {
+ // CHECK: define {{.*}}void @test_c31
+ // CHECK: call void asm sideeffect "nop", "~{c31}"()
+ asm("nop" ::: "c31");
+}
+void test_c1_0() {
+ // CHECK: define {{.*}}void @test_c1_0
+ // CHECK: call void asm sideeffect "nop", "~{c1:0}"()
+ asm("nop" ::: "c1:0");
+}
+void test_c3_2() {
+ // CHECK: define {{.*}}void @test_c3_2
+ // CHECK: call void asm sideeffect "nop", "~{c3:2}"()
+ asm("nop" ::: "c3:2");
+}
+void test_c5_4() {
+ // CHECK: define {{.*}}void @test_c5_4
+ // CHECK: call void asm sideeffect "nop", "~{c5:4}"()
+ asm("nop" ::: "c5:4");
+}
+void test_c7_6() {
+ // CHECK: define {{.*}}void @test_c7_6
+ // CHECK: call void asm sideeffect "nop", "~{c7:6}"()
+ asm("nop" ::: "c7:6");
+}
+void test_c9_8() {
+ // CHECK: define {{.*}}void @test_c9_8
+ // CHECK: call void asm sideeffect "nop", "~{c9:8}"()
+ asm("nop" ::: "c9:8");
+}
+void test_c11_10() {
+ // CHECK: define {{.*}}void @test_c11_10
+ // CHECK: call void asm sideeffect "nop", "~{c11:10}"()
+ asm("nop" ::: "c11:10");
+}
+void test_c13_12() {
+ // CHECK: define {{.*}}void @test_c13_12
+ // CHECK: call void asm sideeffect "nop", "~{c13:12}"()
+ asm("nop" ::: "c13:12");
+}
+void test_c15_14() {
+ // CHECK: define {{.*}}void @test_c15_14
+ // CHECK: call void asm sideeffect "nop", "~{c15:14}"()
+ asm("nop" ::: "c15:14");
+}
+void test_c17_16() {
+ // CHECK: define {{.*}}void @test_c17_16
+ // CHECK: call void asm sideeffect "nop", "~{c17:16}"()
+ asm("nop" ::: "c17:16");
+}
+void test_c19_18() {
+ // CHECK: define {{.*}}void @test_c19_18
+ // CHECK: call void asm sideeffect "nop", "~{c19:18}"()
+ asm("nop" ::: "c19:18");
+}
+void test_c21_20() {
+ // CHECK: define {{.*}}void @test_c21_20
+ // CHECK: call void asm sideeffect "nop", "~{c21:20}"()
+ asm("nop" ::: "c21:20");
+}
+void test_c23_22() {
+ // CHECK: define {{.*}}void @test_c23_22
+ // CHECK: call void asm sideeffect "nop", "~{c23:22}"()
+ asm("nop" ::: "c23:22");
+}
+void test_c25_24() {
+ // CHECK: define {{.*}}void @test_c25_24
+ // CHECK: call void asm sideeffect "nop", "~{c25:24}"()
+ asm("nop" ::: "c25:24");
+}
+void test_c27_26() {
+ // CHECK: define {{.*}}void @test_c27_26
+ // CHECK: call void asm sideeffect "nop", "~{c27:26}"()
+ asm("nop" ::: "c27:26");
+}
+void test_c29_28() {
+ // CHECK: define {{.*}}void @test_c29_28
+ // CHECK: call void asm sideeffect "nop", "~{c29:28}"()
+ asm("nop" ::: "c29:28");
+}
+void test_c31_30() {
+ // CHECK: define {{.*}}void @test_c31_30
+ // CHECK: call void asm sideeffect "nop", "~{c31:30}"()
+ asm("nop" ::: "c31:30");
+}
+void test_sa0() {
+ // CHECK: define {{.*}}void @test_sa0
+ // CHECK: call void asm sideeffect "nop", "~{sa0}"()
+ asm("nop" ::: "sa0");
+}
+void test_lc0() {
+ // CHECK: define {{.*}}void @test_lc0
+ // CHECK: call void asm sideeffect "nop", "~{lc0}"()
+ asm("nop" ::: "lc0");
+}
+void test_sa1() {
+ // CHECK: define {{.*}}void @test_sa1
+ // CHECK: call void asm sideeffect "nop", "~{sa1}"()
+ asm("nop" ::: "sa1");
+}
+void test_lc1() {
+ // CHECK: define {{.*}}void @test_lc1
+ // CHECK: call void asm sideeffect "nop", "~{lc1}"()
+ asm("nop" ::: "lc1");
+}
+void test_p3_0() {
+ // CHECK: define {{.*}}void @test_p3_0
+ // CHECK: call void asm sideeffect "nop", "~{p3:0}"()
+ asm("nop" ::: "p3:0");
+}
+void test_m0() {
+ // CHECK: define {{.*}}void @test_m0
+ // CHECK: call void asm sideeffect "nop", "~{m0}"()
+ asm("nop" ::: "m0");
+}
+void test_m1() {
+ // CHECK: define {{.*}}void @test_m1
+ // CHECK: call void asm sideeffect "nop", "~{m1}"()
+ asm("nop" ::: "m1");
+}
+void test_usr() {
+ // CHECK: define {{.*}}void @test_usr
+ // CHECK: call void asm sideeffect "nop", "~{usr}"()
+ asm("nop" ::: "usr");
+}
+void test_pc() {
+ // CHECK: define {{.*}}void @test_pc
+ // CHECK: call void asm sideeffect "nop", "~{pc}"()
+ asm("nop" ::: "pc");
+}
+void test_ugp() {
+ // CHECK: define {{.*}}void @test_ugp
+ // CHECK: call void asm sideeffect "nop", "~{ugp}"()
+ asm("nop" ::: "ugp");
+}
+void test_gp() {
+ // CHECK: define {{.*}}void @test_gp
+ // CHECK: call void asm sideeffect "nop", "~{gp}"()
+ asm("nop" ::: "gp");
+}
+void test_cs0() {
+ // CHECK: define {{.*}}void @test_cs0
+ // CHECK: call void asm sideeffect "nop", "~{cs0}"()
+ asm("nop" ::: "cs0");
+}
+void test_cs1() {
+ // CHECK: define {{.*}}void @test_cs1
+ // CHECK: call void asm sideeffect "nop", "~{cs1}"()
+ asm("nop" ::: "cs1");
+}
+void test_upcyclelo() {
+ // CHECK: define {{.*}}void @test_upcyclelo
+ // CHECK: call void asm sideeffect "nop", "~{upcyclelo}"()
+ asm("nop" ::: "upcyclelo");
+}
+void test_upcyclehi() {
+ // CHECK: define {{.*}}void @test_upcyclehi
+ // CHECK: call void asm sideeffect "nop", "~{upcyclehi}"()
+ asm("nop" ::: "upcyclehi");
+}
+void test_framelimit() {
+ // CHECK: define {{.*}}void @test_framelimit
+ // CHECK: call void asm sideeffect "nop", "~{framelimit}"()
+ asm("nop" ::: "framelimit");
+}
+void test_framekey() {
+ // CHECK: define {{.*}}void @test_framekey
+ // CHECK: call void asm sideeffect "nop", "~{framekey}"()
+ asm("nop" ::: "framekey");
+}
+void test_pktcountlo() {
+ // CHECK: define {{.*}}void @test_pktcountlo
+ // CHECK: call void asm sideeffect "nop", "~{pktcountlo}"()
+ asm("nop" ::: "pktcountlo");
+}
+void test_pktcounthi() {
+ // CHECK: define {{.*}}void @test_pktcounthi
+ // CHECK: call void asm sideeffect "nop", "~{pktcounthi}"()
+ asm("nop" ::: "pktcounthi");
+}
+void test_utimerlo() {
+ // CHECK: define {{.*}}void @test_utimerlo
+ // CHECK: call void asm sideeffect "nop", "~{utimerlo}"()
+ asm("nop" ::: "utimerlo");
+}
+void test_utimerhi() {
+ // CHECK: define {{.*}}void @test_utimerhi
+ // CHECK: call void asm sideeffect "nop", "~{utimerhi}"()
+ asm("nop" ::: "utimerhi");
+}
+void test_upcycle() {
+ // CHECK: define {{.*}}void @test_upcycle
+ // CHECK: call void asm sideeffect "nop", "~{upcycle}"()
+ asm("nop" ::: "upcycle");
+}
+void test_pktcount() {
+ // CHECK: define {{.*}}void @test_pktcount
+ // CHECK: call void asm sideeffect "nop", "~{pktcount}"()
+ asm("nop" ::: "pktcount");
+}
+void test_utimer() {
+ // CHECK: define {{.*}}void @test_utimer
+ // CHECK: call void asm sideeffect "nop", "~{utimer}"()
+ asm("nop" ::: "utimer");
+}
+void test_v0() {
+ // CHECK: define {{.*}}void @test_v0
+ // CHECK: call void asm sideeffect "nop", "~{v0}"()
+ asm("nop" ::: "v0");
+}
+void test_v1() {
+ // CHECK: define {{.*}}void @test_v1
+ // CHECK: call void asm sideeffect "nop", "~{v1}"()
+ asm("nop" ::: "v1");
+}
+void test_v2() {
+ // CHECK: define {{.*}}void @test_v2
+ // CHECK: call void asm sideeffect "nop", "~{v2}"()
+ asm("nop" ::: "v2");
+}
+void test_v3() {
+ // CHECK: define {{.*}}void @test_v3
+ // CHECK: call void asm sideeffect "nop", "~{v3}"()
+ asm("nop" ::: "v3");
+}
+void test_v4() {
+ // CHECK: define {{.*}}void @test_v4
+ // CHECK: call void asm sideeffect "nop", "~{v4}"()
+ asm("nop" ::: "v4");
+}
+void test_v5() {
+ // CHECK: define {{.*}}void @test_v5
+ // CHECK: call void asm sideeffect "nop", "~{v5}"()
+ asm("nop" ::: "v5");
+}
+void test_v6() {
+ // CHECK: define {{.*}}void @test_v6
+ // CHECK: call void asm sideeffect "nop", "~{v6}"()
+ asm("nop" ::: "v6");
+}
+void test_v7() {
+ // CHECK: define {{.*}}void @test_v7
+ // CHECK: call void asm sideeffect "nop", "~{v7}"()
+ asm("nop" ::: "v7");
+}
+void test_v8() {
+ // CHECK: define {{.*}}void @test_v8
+ // CHECK: call void asm sideeffect "nop", "~{v8}"()
+ asm("nop" ::: "v8");
+}
+void test_v9() {
+ // CHECK: define {{.*}}void @test_v9
+ // CHECK: call void asm sideeffect "nop", "~{v9}"()
+ asm("nop" ::: "v9");
+}
+void test_v10() {
+ // CHECK: define {{.*}}void @test_v10
+ // CHECK: call void asm sideeffect "nop", "~{v10}"()
+ asm("nop" ::: "v10");
+}
+void test_v11() {
+ // CHECK: define {{.*}}void @test_v11
+ // CHECK: call void asm sideeffect "nop", "~{v11}"()
+ asm("nop" ::: "v11");
+}
+void test_v12() {
+ // CHECK: define {{.*}}void @test_v12
+ // CHECK: call void asm sideeffect "nop", "~{v12}"()
+ asm("nop" ::: "v12");
+}
+void test_v13() {
+ // CHECK: define {{.*}}void @test_v13
+ // CHECK: call void asm sideeffect "nop", "~{v13}"()
+ asm("nop" ::: "v13");
+}
+void test_v14() {
+ // CHECK: define {{.*}}void @test_v14
+ // CHECK: call void asm sideeffect "nop", "~{v14}"()
+ asm("nop" ::: "v14");
+}
+void test_v15() {
+ // CHECK: define {{.*}}void @test_v15
+ // CHECK: call void asm sideeffect "nop", "~{v15}"()
+ asm("nop" ::: "v15");
+}
+void test_v16() {
+ // CHECK: define {{.*}}void @test_v16
+ // CHECK: call void asm sideeffect "nop", "~{v16}"()
+ asm("nop" ::: "v16");
+}
+void test_v17() {
+ // CHECK: define {{.*}}void @test_v17
+ // CHECK: call void asm sideeffect "nop", "~{v17}"()
+ asm("nop" ::: "v17");
+}
+void test_v18() {
+ // CHECK: define {{.*}}void @test_v18
+ // CHECK: call void asm sideeffect "nop", "~{v18}"()
+ asm("nop" ::: "v18");
+}
+void test_v19() {
+ // CHECK: define {{.*}}void @test_v19
+ // CHECK: call void asm sideeffect "nop", "~{v19}"()
+ asm("nop" ::: "v19");
+}
+void test_v20() {
+ // CHECK: define {{.*}}void @test_v20
+ // CHECK: call void asm sideeffect "nop", "~{v20}"()
+ asm("nop" ::: "v20");
+}
+void test_v21() {
+ // CHECK: define {{.*}}void @test_v21
+ // CHECK: call void asm sideeffect "nop", "~{v21}"()
+ asm("nop" ::: "v21");
+}
+void test_v22() {
+ // CHECK: define {{.*}}void @test_v22
+ // CHECK: call void asm sideeffect "nop", "~{v22}"()
+ asm("nop" ::: "v22");
+}
+void test_v23() {
+ // CHECK: define {{.*}}void @test_v23
+ // CHECK: call void asm sideeffect "nop", "~{v23}"()
+ asm("nop" ::: "v23");
+}
+void test_v24() {
+ // CHECK: define {{.*}}void @test_v24
+ // CHECK: call void asm sideeffect "nop", "~{v24}"()
+ asm("nop" ::: "v24");
+}
+void test_v25() {
+ // CHECK: define {{.*}}void @test_v25
+ // CHECK: call void asm sideeffect "nop", "~{v25}"()
+ asm("nop" ::: "v25");
+}
+void test_v26() {
+ // CHECK: define {{.*}}void @test_v26
+ // CHECK: call void asm sideeffect "nop", "~{v26}"()
+ asm("nop" ::: "v26");
+}
+void test_v27() {
+ // CHECK: define {{.*}}void @test_v27
+ // CHECK: call void asm sideeffect "nop", "~{v27}"()
+ asm("nop" ::: "v27");
+}
+void test_v28() {
+ // CHECK: define {{.*}}void @test_v28
+ // CHECK: call void asm sideeffect "nop", "~{v28}"()
+ asm("nop" ::: "v28");
+}
+void test_v29() {
+ // CHECK: define {{.*}}void @test_v29
+ // CHECK: call void asm sideeffect "nop", "~{v29}"()
+ asm("nop" ::: "v29");
+}
+void test_v30() {
+ // CHECK: define {{.*}}void @test_v30
+ // CHECK: call void asm sideeffect "nop", "~{v30}"()
+ asm("nop" ::: "v30");
+}
+void test_v31() {
+ // CHECK: define {{.*}}void @test_v31
+ // CHECK: call void asm sideeffect "nop", "~{v31}"()
+ asm("nop" ::: "v31");
+}
+void test_v1_0() {
+ // CHECK: define {{.*}}void @test_v1_0
+ // CHECK: call void asm sideeffect "nop", "~{v1:0}"()
+ asm("nop" ::: "v1:0");
+}
+void test_v3_2() {
+ // CHECK: define {{.*}}void @test_v3_2
+ // CHECK: call void asm sideeffect "nop", "~{v3:2}"()
+ asm("nop" ::: "v3:2");
+}
+void test_v5_4() {
+ // CHECK: define {{.*}}void @test_v5_4
+ // CHECK: call void asm sideeffect "nop", "~{v5:4}"()
+ asm("nop" ::: "v5:4");
+}
+void test_v7_6() {
+ // CHECK: define {{.*}}void @test_v7_6
+ // CHECK: call void asm sideeffect "nop", "~{v7:6}"()
+ asm("nop" ::: "v7:6");
+}
+void test_v9_8() {
+ // CHECK: define {{.*}}void @test_v9_8
+ // CHECK: call void asm sideeffect "nop", "~{v9:8}"()
+ asm("nop" ::: "v9:8");
+}
+void test_v11_10() {
+ // CHECK: define {{.*}}void @test_v11_10
+ // CHECK: call void asm sideeffect "nop", "~{v11:10}"()
+ asm("nop" ::: "v11:10");
+}
+void test_v13_12() {
+ // CHECK: define {{.*}}void @test_v13_12
+ // CHECK: call void asm sideeffect "nop", "~{v13:12}"()
+ asm("nop" ::: "v13:12");
+}
+void test_v15_14() {
+ // CHECK: define {{.*}}void @test_v15_14
+ // CHECK: call void asm sideeffect "nop", "~{v15:14}"()
+ asm("nop" ::: "v15:14");
+}
+void test_v17_16() {
+ // CHECK: define {{.*}}void @test_v17_16
+ // CHECK: call void asm sideeffect "nop", "~{v17:16}"()
+ asm("nop" ::: "v17:16");
+}
+void test_v19_18() {
+ // CHECK: define {{.*}}void @test_v19_18
+ // CHECK: call void asm sideeffect "nop", "~{v19:18}"()
+ asm("nop" ::: "v19:18");
+}
+void test_v21_20() {
+ // CHECK: define {{.*}}void @test_v21_20
+ // CHECK: call void asm sideeffect "nop", "~{v21:20}"()
+ asm("nop" ::: "v21:20");
+}
+void test_v23_22() {
+ // CHECK: define {{.*}}void @test_v23_22
+ // CHECK: call void asm sideeffect "nop", "~{v23:22}"()
+ asm("nop" ::: "v23:22");
+}
+void test_v25_24() {
+ // CHECK: define {{.*}}void @test_v25_24
+ // CHECK: call void asm sideeffect "nop", "~{v25:24}"()
+ asm("nop" ::: "v25:24");
+}
+void test_v27_26() {
+ // CHECK: define {{.*}}void @test_v27_26
+ // CHECK: call void asm sideeffect "nop", "~{v27:26}"()
+ asm("nop" ::: "v27:26");
+}
+void test_v29_28() {
+ // CHECK: define {{.*}}void @test_v29_28
+ // CHECK: call void asm sideeffect "nop", "~{v29:28}"()
+ asm("nop" ::: "v29:28");
+}
+void test_v31_30() {
+ // CHECK: define {{.*}}void @test_v31_30
+ // CHECK: call void asm sideeffect "nop", "~{v31:30}"()
+ asm("nop" ::: "v31:30");
+}
+void test_v3_0() {
+ // CHECK: define {{.*}}void @test_v3_0
+ // CHECK: call void asm sideeffect "nop", "~{v3:0}"()
+ asm("nop" ::: "v3:0");
+}
+void test_v7_4() {
+ // CHECK: define {{.*}}void @test_v7_4
+ // CHECK: call void asm sideeffect "nop", "~{v7:4}"()
+ asm("nop" ::: "v7:4");
+}
+void test_v11_8() {
+ // CHECK: define {{.*}}void @test_v11_8
+ // CHECK: call void asm sideeffect "nop", "~{v11:8}"()
+ asm("nop" ::: "v11:8");
+}
+void test_v15_12() {
+ // CHECK: define {{.*}}void @test_v15_12
+ // CHECK: call void asm sideeffect "nop", "~{v15:12}"()
+ asm("nop" ::: "v15:12");
+}
+void test_v19_16() {
+ // CHECK: define {{.*}}void @test_v19_16
+ // CHECK: call void asm sideeffect "nop", "~{v19:16}"()
+ asm("nop" ::: "v19:16");
+}
+void test_v23_20() {
+ // CHECK: define {{.*}}void @test_v23_20
+ // CHECK: call void asm sideeffect "nop", "~{v23:20}"()
+ asm("nop" ::: "v23:20");
+}
+void test_v27_24() {
+ // CHECK: define {{.*}}void @test_v27_24
+ // CHECK: call void asm sideeffect "nop", "~{v27:24}"()
+ asm("nop" ::: "v27:24");
+}
+void test_v31_28() {
+ // CHECK: define {{.*}}void @test_v31_28
+ // CHECK: call void asm sideeffect "nop", "~{v31:28}"()
+ asm("nop" ::: "v31:28");
+}
+void test_q0() {
+ // CHECK: define {{.*}}void @test_q0
+ // CHECK: call void asm sideeffect "nop", "~{q0}"()
+ asm("nop" ::: "q0");
+}
+void test_q1() {
+ // CHECK: define {{.*}}void @test_q1
+ // CHECK: call void asm sideeffect "nop", "~{q1}"()
+ asm("nop" ::: "q1");
+}
+void test_q2() {
+ // CHECK: define {{.*}}void @test_q2
+ // CHECK: call void asm sideeffect "nop", "~{q2}"()
+ asm("nop" ::: "q2");
+}
+void test_q3() {
+ // CHECK: define {{.*}}void @test_q3
+ // CHECK: call void asm sideeffect "nop", "~{q3}"()
+ asm("nop" ::: "q3");
+}
More information about the cfe-commits
mailing list