consolidate and filecheckize two tests.
[oota-llvm.git] / test / CodeGen / X86 / add.ll
1 ; RUN: llc < %s -march=x86 | FileCheck %s -check-prefix=X32
2 ; RUN: llc < %s -march=x86-64 | FileCheck %s -check-prefix=X64
3
4 ; The immediate can be encoded in a smaller way if the
5 ; instruction is a sub instead of an add.
6
7 define i32 @test1(i32 inreg %a) nounwind {
8   %b = add i32 %a, 128
9   ret i32 %b
10 ; X32: subl     $-128, %eax
11 ; X64: subl $-128, 
12 }
13 define i64 @test2(i64 inreg %a) nounwind {
14   %b = add i64 %a, 2147483648
15   ret i64 %b
16 ; X32: addl     $-2147483648, %eax
17 ; X64: subq     $-2147483648,
18 }
19 define i64 @test3(i64 inreg %a) nounwind {
20   %b = add i64 %a, 128
21   ret i64 %b
22   
23 ; X32: addl $128, %eax
24 ; X64: subq     $-128,
25 }