Open Quuxplusone opened 14 years ago
Attached ubfx.zip
(3381 bytes, application/zip): minimal C++ program that demonstrates the case
Reduced IR:
target triple = "thumbv7-apple-darwin11"
define arm_aapcscc void @_Z7checkrxv(i32 %tmp15, i32 %tmp18,
i32 %tmp42, i32 %tmp45) nounwind {
%cmp22 = icmp eq i32 %tmp18, %tmp15
%tmp117 = lshr i32 %tmp45, 8
%tmp118 = trunc i32 %tmp117 to i8
%tmp109 = lshr i32 %tmp42, 8
%tmp110 = trunc i32 %tmp109 to i8
%cmp51 = icmp eq i8 %tmp118, %tmp110
%and5687 = and i1 %cmp22, %cmp51
br i1 %and5687, label %if.then81, label %if.end85
if.then81:
tail call arm_aapcscc void @_Z5myLogj(i32 252) nounwind
br label %if.end85
if.end85:
ret void
}
declare arm_aapcscc void @_Z5myLogj(i32)
Not sure why the lsrs+uxtb isn't getting matched into ubfx.
ubfx.zip
(3381 bytes, application/zip)