; RUN: llc -march=hexagon < %s | FileCheck %s | |
define i32 @foo(i32 %a, i32 %b) nounwind readnone { | |
; CHECK: lsl | |
; CHECK: aslh | |
entry: | |
%shl1 = shl i32 16, %a | |
%shl2 = shl i32 %b, 16 | |
%ret = mul i32 %shl1, %shl2 | |
ret i32 %ret | |
} | |
define i32 @bar(i32 %a, i32 %b) nounwind readnone { | |
; CHECK: asrh | |
; CHECK: lsr | |
entry: | |
%shl1 = ashr i32 16, %a | |
%shl2 = ashr i32 %b, 16 | |
%ret = mul i32 %shl1, %shl2 | |
ret i32 %ret | |
} |