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