Daniel Sanders
2015-May-15 12:34 UTC
[LLVMdev] 3.6.1 -rc1 has been tagged. Testing begins.
> -----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, > --renatoNot 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.
On 15 May 2015 at 13:34, Daniel Sanders <Daniel.Sanders at imgtec.com> wrote:> 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.Right, so the best thing is probably reverting this one for 3.6.1. cheers, --renato
Daniel Sanders
2015-May-15 13:32 UTC
[LLVMdev] 3.6.1 -rc1 has been tagged. Testing begins.
> -----Original Message----- > From: Renato Golin [mailto:renato.golin at linaro.org] > Sent: 15 May 2015 14:15 > 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 15 May 2015 at 13:34, Daniel Sanders <Daniel.Sanders at imgtec.com> > wrote: > > 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. > > Right, so the best thing is probably reverting this one for 3.6.1. > > cheers, > --renatoI agree. I reverted it this morning (in r237432) after confirming that doing so fixed the regressions. I've also kicked off the cross-compilation test-runs again just to be sure removing it doesn't break anything else.