From b16f95a630597d607dff59447d579f50c8ee9582 Mon Sep 17 00:00:00 2001 From: Sanjay Patel Date: Sat, 23 Sep 2017 14:24:07 +0000 Subject: [PATCH] [x86] add an add+shift test for follow-up suggestion from D38181; NFC git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314063 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/shift-and.ll | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/test/CodeGen/X86/shift-and.ll b/test/CodeGen/X86/shift-and.ll index 62f2d52a5eb..69ec2f8fae7 100644 --- a/test/CodeGen/X86/shift-and.ll +++ b/test/CodeGen/X86/shift-and.ll @@ -193,3 +193,24 @@ define i64 @t6(i64 %key, i64* nocapture %val) nounwind { %and = and i64 %sub, %shr ret i64 %and } + +define i64 @big_mask_constant(i64 %x) nounwind { +; X32-LABEL: big_mask_constant: +; X32: # BB#0: +; X32-NEXT: movl {{[0-9]+}}(%esp), %eax +; X32-NEXT: andl $4, %eax +; X32-NEXT: shll $25, %eax +; X32-NEXT: xorl %edx, %edx +; X32-NEXT: retl +; +; X64-LABEL: big_mask_constant: +; X64: # BB#0: +; X64-NEXT: movabsq $17179869184, %rax # imm = 0x400000000 +; X64-NEXT: andq %rdi, %rax +; X64-NEXT: shrq $7, %rax +; X64-NEXT: retq + %and = and i64 %x, 17179869184 ; 0x400000000 + %sh = lshr i64 %and, 7 + ret i64 %sh +} + -- 2.50.0