[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