mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-07 21:09:21 +00:00
Make the Uv constraint a memory operand. This doesn't solve the
addressing mode problem mentioned in r132559. Backend part of rdar://9037836 and part of rdar://9119939 llvm-svn: 132561
This commit is contained in:
parent
e446e0fdb9
commit
e831655dd9
@ -7265,6 +7265,9 @@ ARMTargetLowering::getConstraintType(const std::string &Constraint) const {
|
|||||||
case 'l': return C_RegisterClass;
|
case 'l': return C_RegisterClass;
|
||||||
case 'w': return C_RegisterClass;
|
case 'w': return C_RegisterClass;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
if (Constraint == "Uv")
|
||||||
|
return C_Memory;
|
||||||
}
|
}
|
||||||
return TargetLowering::getConstraintType(Constraint);
|
return TargetLowering::getConstraintType(Constraint);
|
||||||
}
|
}
|
||||||
|
@ -33,3 +33,11 @@ entry:
|
|||||||
%asmtmp31 = call %0 asm "vld1.u8 {$0}, [$1, :128]!\0A", "=w,=r,1"(<16 x i8>* undef) nounwind
|
%asmtmp31 = call %0 asm "vld1.u8 {$0}, [$1, :128]!\0A", "=w,=r,1"(<16 x i8>* undef) nounwind
|
||||||
unreachable
|
unreachable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; Radar 9037836 & 9119939
|
||||||
|
|
||||||
|
define i32 @t3() nounwind {
|
||||||
|
entry:
|
||||||
|
tail call void asm sideeffect "flds s15, $0 \0A", "^Uv|m,~{s15}"(float 1.000000e+00) nounwind
|
||||||
|
ret i32 0
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user