LLVM generates illegal rbit r0, #352 instruction for llvm.arm.rbit intrinsic. According to ARMARM, rbit only takes register as argument, not immediate. The correct instruction should be rbit <Rd>, <Rm>.
The bug was introduced by r211057.
Differential D4980
ARM: Fix codegen for rbit intrinsic kongyi on Aug 20 2014, 2:00 AM. Authored by
Details LLVM generates illegal rbit r0, #352 instruction for llvm.arm.rbit intrinsic. According to ARMARM, rbit only takes register as argument, not immediate. The correct instruction should be rbit <Rd>, <Rm>. The bug was introduced by r211057.
Diff Detail
Event TimelineComment Actions Hi Yi, Looks like an obvious change, but could you add/modify a test where the input argument actually *is* a constant integer? (It should still be fine because it's a Constant rather than a TargetConstant in the DAG, but it's as well to have it tested). You can just commit with that adjustment. Cheers. Tim. |