; NOTE: Assertions have been autogenerated by utils/update_test_checks.py ; RUN: opt < %s -instcombine -S | FileCheck %s define @sge( %x) { ; CHECK-LABEL: @sge( ; CHECK-NEXT: [[CMP:%.*]] = icmp sge [[X:%.*]], zeroinitializer ; CHECK-NEXT: ret [[CMP]] ; %cmp = icmp sge %x, zeroinitializer ret %cmp } define @gep_scalevector1(i32* %X) nounwind { ; CHECK-LABEL: @gep_scalevector1( ; CHECK-NEXT: [[DOTSPLATINSERT:%.*]] = insertelement poison, i32* [[X:%.*]], i32 0 ; CHECK-NEXT: [[TMP1:%.*]] = icmp eq [[DOTSPLATINSERT]], zeroinitializer ; CHECK-NEXT: [[C:%.*]] = shufflevector [[TMP1]], undef, zeroinitializer ; CHECK-NEXT: ret [[C]] ; %A = getelementptr inbounds i32, i32* %X, zeroinitializer %C = icmp eq %A, zeroinitializer ret %C } define @signbit_bitcast_fpext_scalevec( %x) { ; CHECK-LABEL: @signbit_bitcast_fpext_scalevec( ; CHECK-NEXT: [[TMP1:%.*]] = bitcast [[X:%.*]] to ; CHECK-NEXT: [[R:%.*]] = icmp slt [[TMP1]], zeroinitializer ; CHECK-NEXT: ret [[R]] ; %f = fpext %x to %b = bitcast %f to %r = icmp slt %b, zeroinitializer ret %r }