1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-apple-darwin10 2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-pc-win32 | FileCheck %s -check-prefix=WIN32 3*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -fast-isel -verify-machineinstrs -mtriple=x86_64-pc-win64 | FileCheck %s -check-prefix=WIN64 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Worker; Previously, this would cause an assert. 6*9880d681SAndroid Build Coastguard Workerdefine i31 @t1(i31 %a, i31 %b, i31 %c) { 7*9880d681SAndroid Build Coastguard Workerentry: 8*9880d681SAndroid Build Coastguard Worker %add = add nsw i31 %b, %a 9*9880d681SAndroid Build Coastguard Worker %add1 = add nsw i31 %add, %c 10*9880d681SAndroid Build Coastguard Worker ret i31 %add1 11*9880d681SAndroid Build Coastguard Worker} 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Worker; We don't handle the Windows CC, yet. 14*9880d681SAndroid Build Coastguard Workerdefine i32 @foo(i32* %p) { 15*9880d681SAndroid Build Coastguard Workerentry: 16*9880d681SAndroid Build Coastguard Worker; WIN32: foo 17*9880d681SAndroid Build Coastguard Worker; WIN32: movl (%rcx), %eax 18*9880d681SAndroid Build Coastguard Worker; WIN64: foo 19*9880d681SAndroid Build Coastguard Worker; WIN64: movl (%rdi), %eax 20*9880d681SAndroid Build Coastguard Worker %0 = load i32, i32* %p, align 4 21*9880d681SAndroid Build Coastguard Worker ret i32 %0 22*9880d681SAndroid Build Coastguard Worker} 23