[llvm-commits] [llvm] r129739 - in /llvm/trunk/test/CodeGen: ARM/fcopysign.ll ARM/inlineasm3.ll Mips/buildpairextractelementf64.ll Thumb/2010-07-15-debugOrdering.ll
Jakob Stoklund Olesen
stoklund at 2pi.dk
Mon Apr 18 23:31:53 PDT 2011
On Apr 18, 2011, at 10:25 PM, Chris Lattner wrote:
>
> On Apr 18, 2011, at 10:23 PM, Jakob Stoklund Olesen wrote:
>
>>>> +++ llvm/trunk/test/CodeGen/ARM/fcopysign.ll Mon Apr 18 19:14:43 2011
>>>> @@ -45,10 +45,10 @@
>>>> entry:
>>>> ; SOFT: test4:
>>>> ; SOFT: vmov.f64 [[REG4:(d[0-9]+)]], #1.000000e+00
>>>> -; SOFT: vcvt.f32.f64 s0, [[REG4]]
>>>> +; SOFT: vcvt.f32.f64 {{s[0-9]+}}, [[REG4]]
>>>> ; SOFT: vshr.u64 [[REG4]], [[REG4]], #32
>>>> ; SOFT: vmov.i32 [[REG5:(d[0-9]+)]], #0x80000000
>>>> -; SOFT: vbsl [[REG5]], [[REG4]], d0
>>>> +; SOFT: vbsl [[REG5]], [[REG4]], {{d[0-9]+}}
>>>> %call80 = tail call double @copysign(double 1.000000e+00, double undef)
>>>> %conv81 = fptrunc double %call80 to float
>>>> %tmp88 = bitcast float %conv81 to i32
>>>
>>> There is a problem with the change. The s register must be a sub-register of the d register (previously s0 and d0).
>>
>> Yes, but unfortunately FileCheck can't express that, it would need to divide the S-register number by 2.
>>
>> We could add a Lisp interpreter to FileCheck?
>
> haha, wait, not funny! ;-) You could match [0-1]?[0248] though. Even numbers are regular!
Fixed in r129756.
We may need some FileCheck mechanism to match registers and sub-registers, if we want to write allocation independent tests while actually verifying that the correct registers are being used.
X86-64 also has problems, %rax -> %eax is fine, but doesn't work at the same time as %r8 -> %r8d.
/jakob
More information about the llvm-commits
mailing list