1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=thumbv7-apple-darwin | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; Testing that these don't crash/assert. The loop vectorizer can end up 4*9880d681SAndroid Build Coastguard Worker; with odd constructs like this. The code actually generated is incidental. 5*9880d681SAndroid Build Coastguard Workerdefine <1 x i64> @test_zext(i32 %a) nounwind { 6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_zext: 7*9880d681SAndroid Build Coastguard Worker %Cmp = icmp uge i32 %a, 42 8*9880d681SAndroid Build Coastguard Worker %vec = insertelement <1 x i1> zeroinitializer, i1 %Cmp, i32 0 9*9880d681SAndroid Build Coastguard Worker %Se = zext <1 x i1> %vec to <1 x i64> 10*9880d681SAndroid Build Coastguard Worker ret <1 x i64> %Se 11*9880d681SAndroid Build Coastguard Worker} 12*9880d681SAndroid Build Coastguard Worker 13*9880d681SAndroid Build Coastguard Workerdefine <1 x i64> @test_sext(i32 %a) nounwind { 14*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: test_sext: 15*9880d681SAndroid Build Coastguard Worker %Cmp = icmp uge i32 %a, 42 16*9880d681SAndroid Build Coastguard Worker %vec = insertelement <1 x i1> zeroinitializer, i1 %Cmp, i32 0 17*9880d681SAndroid Build Coastguard Worker %Se = sext <1 x i1> %vec to <1 x i64> 18*9880d681SAndroid Build Coastguard Worker ret <1 x i64> %Se 19*9880d681SAndroid Build Coastguard Worker} 20