// RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-llvm -O2 %s -o - | FileCheck %s // CHECK-LABEL: @test_r15 // CHECK: call void asm sideeffect "", "{r15},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r15() { register int a asm ("r15"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r16 // CHECK: call void asm sideeffect "", "{r16},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r16() { register int a asm ("r16"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r17 // CHECK: call void asm sideeffect "", "{r17},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r17() { register int a asm ("r17"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r18 // CHECK: call void asm sideeffect "", "{r18},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r18() { register int a asm ("r18"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r19 // CHECK: call void asm sideeffect "", "{r19},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r19() { register int a asm ("r19"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r20 // CHECK: call void asm sideeffect "", "{r20},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r20() { register int a asm ("r20"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r21 // CHECK: call void asm sideeffect "", "{r21},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r21() { register int a asm ("r21"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r22 // CHECK: call void asm sideeffect "", "{r22},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r22() { register int a asm ("r22"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r23 // CHECK: call void asm sideeffect "", "{r23},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r23() { register int a asm ("r23"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r24 // CHECK: call void asm sideeffect "", "{r24},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r24() { register int a asm ("r24"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r25 // CHECK: call void asm sideeffect "", "{r25},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r25() { register int a asm ("r25"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r26 // CHECK: call void asm sideeffect "", "{r26},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r26() { register int a asm ("r26"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r27 // CHECK: call void asm sideeffect "", "{r27},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r27() { register int a asm ("r27"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r28 // CHECK: call void asm sideeffect "", "{r28},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r28() { register int a asm ("r28"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r29 // CHECK: call void asm sideeffect "", "{r29},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r29() { register int a asm ("r29"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r30 // CHECK: call void asm sideeffect "", "{r30},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r30() { register int a asm ("r30"); asm ("" :: "r" (a)); } // CHECK-LABEL: @test_r31 // CHECK: call void asm sideeffect "", "{r31},~{dirflag},~{fpsr},~{flags}"(i32 undef) void test_r31() { register int a asm ("r31"); asm ("" :: "r" (a)); }