|
| 1 | +// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -O2 %s -o - | FileCheck %s |
| 2 | + |
| 3 | +// CHECK-LABEL: @test_r15 |
| 4 | +// CHECK: call void asm sideeffect "", "{r15},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 5 | +void test_r15() { |
| 6 | + register int a asm ("r15"); |
| 7 | + asm ("" :: "r" (a)); |
| 8 | +} |
| 9 | + |
| 10 | +// CHECK-LABEL: @test_r16 |
| 11 | +// CHECK: call void asm sideeffect "", "{r16},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 12 | +void test_r16() { |
| 13 | + register int a asm ("r16"); |
| 14 | + asm ("" :: "r" (a)); |
| 15 | +} |
| 16 | + |
| 17 | +// CHECK-LABEL: @test_r17 |
| 18 | +// CHECK: call void asm sideeffect "", "{r17},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 19 | +void test_r17() { |
| 20 | + register int a asm ("r17"); |
| 21 | + asm ("" :: "r" (a)); |
| 22 | +} |
| 23 | + |
| 24 | +// CHECK-LABEL: @test_r18 |
| 25 | +// CHECK: call void asm sideeffect "", "{r18},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 26 | +void test_r18() { |
| 27 | + register int a asm ("r18"); |
| 28 | + asm ("" :: "r" (a)); |
| 29 | +} |
| 30 | + |
| 31 | +// CHECK-LABEL: @test_r19 |
| 32 | +// CHECK: call void asm sideeffect "", "{r19},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 33 | +void test_r19() { |
| 34 | + register int a asm ("r19"); |
| 35 | + asm ("" :: "r" (a)); |
| 36 | +} |
| 37 | + |
| 38 | +// CHECK-LABEL: @test_r20 |
| 39 | +// CHECK: call void asm sideeffect "", "{r20},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 40 | +void test_r20() { |
| 41 | + register int a asm ("r20"); |
| 42 | + asm ("" :: "r" (a)); |
| 43 | +} |
| 44 | + |
| 45 | +// CHECK-LABEL: @test_r21 |
| 46 | +// CHECK: call void asm sideeffect "", "{r21},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 47 | +void test_r21() { |
| 48 | + register int a asm ("r21"); |
| 49 | + asm ("" :: "r" (a)); |
| 50 | +} |
| 51 | + |
| 52 | +// CHECK-LABEL: @test_r22 |
| 53 | +// CHECK: call void asm sideeffect "", "{r22},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 54 | +void test_r22() { |
| 55 | + register int a asm ("r22"); |
| 56 | + asm ("" :: "r" (a)); |
| 57 | +} |
| 58 | + |
| 59 | +// CHECK-LABEL: @test_r23 |
| 60 | +// CHECK: call void asm sideeffect "", "{r23},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 61 | +void test_r23() { |
| 62 | + register int a asm ("r23"); |
| 63 | + asm ("" :: "r" (a)); |
| 64 | +} |
| 65 | + |
| 66 | +// CHECK-LABEL: @test_r24 |
| 67 | +// CHECK: call void asm sideeffect "", "{r24},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 68 | +void test_r24() { |
| 69 | + register int a asm ("r24"); |
| 70 | + asm ("" :: "r" (a)); |
| 71 | +} |
| 72 | + |
| 73 | +// CHECK-LABEL: @test_r25 |
| 74 | +// CHECK: call void asm sideeffect "", "{r25},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 75 | +void test_r25() { |
| 76 | + register int a asm ("r25"); |
| 77 | + asm ("" :: "r" (a)); |
| 78 | +} |
| 79 | + |
| 80 | +// CHECK-LABEL: @test_r26 |
| 81 | +// CHECK: call void asm sideeffect "", "{r26},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 82 | +void test_r26() { |
| 83 | + register int a asm ("r26"); |
| 84 | + asm ("" :: "r" (a)); |
| 85 | +} |
| 86 | + |
| 87 | +// CHECK-LABEL: @test_r27 |
| 88 | +// CHECK: call void asm sideeffect "", "{r27},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 89 | +void test_r27() { |
| 90 | + register int a asm ("r27"); |
| 91 | + asm ("" :: "r" (a)); |
| 92 | +} |
| 93 | + |
| 94 | +// CHECK-LABEL: @test_r28 |
| 95 | +// CHECK: call void asm sideeffect "", "{r28},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 96 | +void test_r28() { |
| 97 | + register int a asm ("r28"); |
| 98 | + asm ("" :: "r" (a)); |
| 99 | +} |
| 100 | + |
| 101 | +// CHECK-LABEL: @test_r29 |
| 102 | +// CHECK: call void asm sideeffect "", "{r29},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 103 | +void test_r29() { |
| 104 | + register int a asm ("r29"); |
| 105 | + asm ("" :: "r" (a)); |
| 106 | +} |
| 107 | + |
| 108 | +// CHECK-LABEL: @test_r30 |
| 109 | +// CHECK: call void asm sideeffect "", "{r30},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 110 | +void test_r30() { |
| 111 | + register int a asm ("r30"); |
| 112 | + asm ("" :: "r" (a)); |
| 113 | +} |
| 114 | + |
| 115 | +// CHECK-LABEL: @test_r31 |
| 116 | +// CHECK: call void asm sideeffect "", "{r31},~{dirflag},~{fpsr},~{flags}"(i32 undef) |
| 117 | +void test_r31() { |
| 118 | + register int a asm ("r31"); |
| 119 | + asm ("" :: "r" (a)); |
| 120 | +} |
| 121 | + |
0 commit comments