| ; RUN: llc < %s -mtriple=i686-linux -x86-asm-syntax=intel | FileCheck %s |
| ; RUN: llc < %s -mtriple=x86_64-linux -x86-asm-syntax=intel | FileCheck %s |
| ; RUN: llc < %s -mtriple=x86_64-linux-gnux32 -x86-asm-syntax=intel | FileCheck %s |
| ; RUN: llc < %s -mtriple=x86_64-nacl -x86-asm-syntax=intel | FileCheck %s |
| |
| define i32 @test1(i32 %A, i32 %B) { |
| %tmp1 = shl i32 %A, 2 |
| %tmp3 = add i32 %B, -5 |
| %tmp4 = add i32 %tmp3, %tmp1 |
| ; The above computation of %tmp4 should match a single lea, without using |
| ; actual add instructions. |
| ; CHECK-NOT: add |
| ; CHECK: lea {{[a-z]+}}, [{{[a-z]+}} + 4*{{[a-z]+}} - 5] |
| |
| ret i32 %tmp4 |
| } |
| |
| |