mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
mips32 long long register inline asm constraint support.
inlineasm-cnstrnt-bad-r-1.ll is NOT supposed to fail, so it was removed. This resulted in the removal of a negative test (inlineasm-cnstrnt-bad-r-1.ll) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159625 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
80c1b38eff
commit
10de025a67
@ -3355,6 +3355,8 @@ getRegForInlineAsmConstraint(const std::string &Constraint, EVT VT) const
|
||||
case 'r':
|
||||
if (VT == MVT::i32 || VT == MVT::i16 || VT == MVT::i8)
|
||||
return std::make_pair(0U, &Mips::CPURegsRegClass);
|
||||
if (VT == MVT::i64 && !HasMips64)
|
||||
return std::make_pair(0U, &Mips::CPURegsRegClass);
|
||||
if (VT == MVT::i64 && HasMips64)
|
||||
return std::make_pair(0U, &Mips::CPU64RegsRegClass);
|
||||
// This will generate an error message
|
||||
|
@ -41,5 +41,11 @@ entry:
|
||||
;CHECK: #NO_APP
|
||||
tail call i32 asm sideeffect "addi $0,$1,${2:z}", "=r,r,I"(i32 7, i32 0) nounwind
|
||||
|
||||
; a long long in 32 bit mode (use to assert)
|
||||
;CHECK: #APP
|
||||
;CHECK: addi ${{[0-9]+}},${{[0-9]+}},3
|
||||
;CHECK: #NO_APP
|
||||
tail call i64 asm sideeffect "addi $0,$1,$2 \0A\09", "=r,r,X"(i64 1229801703532086340, i64 3) nounwind
|
||||
|
||||
ret i32 0
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user