1 ; RUN: llc < %s -march=x86-64 | FileCheck %s 2 3 ; CHECK: {{leal .*[)], %e.*}} 4 ; CHECK-NOT: {{leal .*[)], %e.*}} 5 6 ; Don't eliminate or coalesce away the explicit zero-extension! 7 ; This is currently using an leal because of a 3-addressification detail, 8 ; though this isn't necessary; The point of this test is to make sure 9 ; a 32-bit add is used. 10 11 define i64 @foo(i64 %a) nounwind { 12 %b = add i64 %a, 4294967295 13 %c = and i64 %b, 4294967295 14 %d = add i64 %c, 1 15 ret i64 %d 16 } 17