1 ; RUN: llc < %s -march=x86-64 -O0 | FileCheck %s 2 ; Make sure fast-isel doesn't reset the materialised constant map 3 ; across an intrinsic call. 4 5 ; CHECK: movl $100000 6 ; CHECK-NOT: movl $100000 7 define i1 @test1(i32 %v1, i32 %v2, i32* %X) nounwind { 8 entry: 9 %a = shl i32 100000, %v1 10 %t = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 %a, i32 %v2) 11 %ext = extractvalue {i32, i1} %t, 0 12 %sum = shl i32 100000, %ext 13 %obit = extractvalue {i32, i1} %t, 1 14 br i1 %obit, label %overflow, label %normal 15 16 normal: 17 store i32 %sum, i32* %X 18 br label %overflow 19 20 overflow: 21 ret i1 false 22 } 23 24 declare {i32, i1} @llvm.sadd.with.overflow.i32(i32, i32) 25