; RUN: opt -S -instcombine < %s | FileCheck %s | |
; Checking for a crash | |
declare void @use.i1(i1 %val) | |
declare void @use.i64(i64 %val) | |
define i64 @f(i32 %x) { | |
; CHECK-LABEL: @f( | |
entry: | |
%x.wide = sext i32 %x to i64 | |
%minus.x = sub i32 0, %x | |
%minus.x.wide = sext i32 %minus.x to i64 | |
%c = icmp slt i32 %x, 0 | |
%val = select i1 %c, i64 %x.wide, i64 %minus.x.wide | |
call void @use.i1(i1 %c) | |
call void @use.i64(i64 %x.wide) | |
ret i64 %val | |
; CHECK: ret i64 %val | |
} |