define i64 @t14(i16 %a, i64 %x) nounwind ssp {
entry:
; CHECK-LABEL: t14:
-; CHECK: add x0, x1, w0, uxth #3
+; CHECK: and w8, w0, #0xffff
+; CHECK: add x0, x1, w8, uxtw #3
; CHECK: ret
%c = zext i16 %a to i64
%d = shl i64 %c, 3
%res = mul nsw i64 %a, 17
ret i64 %res
}
+
+define i32 @f4(i32 %a) nounwind readnone ssp {
+; CHECK-LABEL: f4:
+; CHECK-NEXT: add w0, w0, w0, lsl #1
+; CHECK-NEXT: ret
+ %res = mul i32 %a, 3
+ ret i32 %res
+}