xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/x86-64-extend-shift.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; Formerly there were two shifts.
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine i64 @baz(i32 %A) nounwind {
5*9880d681SAndroid Build Coastguard Worker; CHECK:  shlq  $49, %r
6*9880d681SAndroid Build Coastguard Worker        %tmp1 = shl i32 %A, 17
7*9880d681SAndroid Build Coastguard Worker        %tmp2 = zext i32 %tmp1 to i64
8*9880d681SAndroid Build Coastguard Worker        %tmp3 = shl i64 %tmp2, 32
9*9880d681SAndroid Build Coastguard Worker        ret i64 %tmp3
10*9880d681SAndroid Build Coastguard Worker}
11