forked from OSchip/llvm-project
[x86][inline-asm]Allow a pack of Control Regs to be properly picked
Allows the incorporation of legit (x86) Control Regs within inline asm stataements Differential Revision: https://reviews.llvm.org/D35903 llvm-svn: 309508
This commit is contained in:
parent
ebac0b9c62
commit
5ac75b5744
|
@ -58,6 +58,7 @@ static const char *const GCCRegNames[] = {
|
|||
"zmm18", "zmm19", "zmm20", "zmm21", "zmm22", "zmm23", "zmm24", "zmm25",
|
||||
"zmm26", "zmm27", "zmm28", "zmm29", "zmm30", "zmm31", "k0", "k1",
|
||||
"k2", "k3", "k4", "k5", "k6", "k7",
|
||||
"cr0", "cr2", "cr3", "cr4", "cr8",
|
||||
};
|
||||
|
||||
const TargetInfo::AddlRegName AddlRegNames[] = {
|
||||
|
|
|
@ -627,6 +627,17 @@ void t43() {
|
|||
// CHECK: call void asm sideeffect inteldialect "mov eax, $0", "*m,~{eax},~{dirflag},~{fpsr},~{flags}"(i32* %{{.*}})
|
||||
}
|
||||
|
||||
void t44() {
|
||||
// CHECK-LABEL: define void @t44
|
||||
__asm {
|
||||
mov cr0, eax
|
||||
mov cr2, ebx
|
||||
mov cr3, ecx
|
||||
mov cr4, edx
|
||||
}
|
||||
// CHECK: call void asm sideeffect inteldialect "mov cr0, eax\0A\09mov cr2, ebx\0A\09mov cr3, ecx\0A\09mov cr4, edx", "~{cr0},~{cr2},~{cr3},~{cr4},~{dirflag},~{fpsr},~{flags}"()
|
||||
}
|
||||
|
||||
void dot_operator(){
|
||||
// CHECK-LABEL: define void @dot_operator
|
||||
__asm { mov eax, 3[ebx]A.b}
|
||||
|
|
Loading…
Reference in New Issue