forked from llvm/llvm-project
-
Notifications
You must be signed in to change notification settings - Fork 55
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[X86][CFE] Support EGPR in GCCRegNames. (llvm#91323)
- Loading branch information
1 parent
23ae482
commit e44600f
Showing
2 changed files
with
139 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
// 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)); | ||
} | ||
|