Hi, I think there are a set of typos in the ATOMIC_LOAD_UMIN_I* and ATOMIC_LOAD_UMAX_I* pseudo-instructions . Specifically, def ATOMIC_LOAD_MIN_I32 : PseudoInst< (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; and def ATOMIC_LOAD_UMIN_I32 : PseudoInst< (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; both reference atomic_load_min_32, and the latter should instead reference atomic_load_umin_32 Added here, See http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_30/final/lib/Target/ARM/ARMInstrInfo.td?diff_format=h&view=diff&r1=130233&r2=130234 Still present in trunk http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?diff_format=h&view=annotate Cheers, George
Thanks. Fixed with r147032. Evan On Dec 16, 2011, at 1:50 AM, George Russell wrote:> Hi, > > I think there are a set of typos in the ATOMIC_LOAD_UMIN_I* and > ATOMIC_LOAD_UMAX_I* > pseudo-instructions . > > Specifically, > > def ATOMIC_LOAD_MIN_I32 : PseudoInst< > (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, > [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; > > and > > def ATOMIC_LOAD_UMIN_I32 : PseudoInst< > (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, > [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; > > both reference atomic_load_min_32, and the latter should instead > reference atomic_load_umin_32 > > Added here, > See > http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_30/final/lib/Target/ARM/ARMInstrInfo.td?diff_format=h&view=diff&r1=130233&r2=130234 > > Still present in trunk > http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?diff_format=h&view=annotate > > Cheers, > George > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Hi Evan, The problem repeats with the i8 and i16 variants, as well. Cheers, George On 21/12/2011 04:07, Evan Cheng wrote:> Thanks. Fixed with r147032. > > Evan > > On Dec 16, 2011, at 1:50 AM, George Russell wrote: > >> Hi, >> >> I think there are a set of typos in the ATOMIC_LOAD_UMIN_I* and >> ATOMIC_LOAD_UMAX_I* >> pseudo-instructions . >> >> Specifically, >> >> def ATOMIC_LOAD_MIN_I32 : PseudoInst< >> (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, >> [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; >> >> and >> >> def ATOMIC_LOAD_UMIN_I32 : PseudoInst< >> (outs GPR:$dst), (ins GPR:$ptr, GPR:$val), NoItinerary, >> [(set GPR:$dst, (atomic_load_min_32 GPR:$ptr, GPR:$val))]>; >> >> both reference atomic_load_min_32, and the latter should instead >> reference atomic_load_umin_32 >> >> Added here, >> See >> http://llvm.org/viewvc/llvm-project/llvm/tags/RELEASE_30/final/lib/Target/ARM/ARMInstrInfo.td?diff_format=h&view=diff&r1=130233&r2=130234 >> >> Still present in trunk >> http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMInstrInfo.td?diff_format=h&view=annotate >> >> Cheers, >> George >> _______________________________________________ >> LLVM Developers mailing list >> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev