llvm-project/llvm/test/CodeGen/X86/shift-pair.ll
David Majnemer 1a59e49f3c [X86] Widen the 'AND' mask if doing so shrinks the encoding size
We can set additional bits in a mask given that we know the other
operand of an AND already has some bits set to zero.  This can be more
efficient if doing so allows us to use an instruction which implicitly
sign extends the immediate.

This fixes PR24085.

Differential Revision: http://reviews.llvm.org/D11289

llvm-svn: 245169
2015-08-16 04:52:11 +00:00

12 lines
202 B
LLVM

; RUN: llc < %s -march=x86-64 | FileCheck %s
define i64 @test(i64 %A) {
; CHECK: @test
; CHECK: shrq $54
; CHECK: andq $-4
; CHECK: ret
%B = lshr i64 %A, 56
%C = shl i64 %B, 2
ret i64 %C
}