[cfe-dev] [LLVMdev] 3.6.1 -rc1 has been tagged. Testing begins.

Daniel Sanders Daniel.Sanders at imgtec.com
Fri May 15 05:34:53 PDT 2015

> -----Original Message-----
> From: Renato Golin [mailto:renato.golin at linaro.org]
> Sent: 15 May 2015 12:51
> To: Daniel Sanders
> Cc: Tom Stellard; llvmdev at cs.uiuc.edu; cfe-dev at cs.uiuc.edu
> Subject: Re: [LLVMdev] 3.6.1 -rc1 has been tagged. Testing begins.
> On 14 May 2015 at 21:39, Daniel Sanders <Daniel.Sanders at imgtec.com>
> wrote:
> > They're correct around 95% of the time since the instructions that act on i32
> only care about the lowest 32-bits of the GPR. However, comparison
> instructions such as BEQ compare the whole 64-bit GPR, even for i32, and
> therefore needed the sign-extend we used to generate.
> Has this been fixed in trunk? If the fix is simple, than maybe
> applying it would be preferable to reverting this patch, no?
> cheers,
> --renato

Not yet, these two failures were the first time we had seen the problem. We're still looking into fixing it properly but I'm currently thinking that the correct fix is to add
  if (Subtarget.isGP64bit())
    setOperationAction(ISD::SETCC, MVT::i32, Promote);
to MipsISelLowering.cpp and sort out the consequences of this on the patterns for all the comparison instructions. This is likely to be a fairly big change to our target.

More information about the cfe-dev mailing list