blob: e778d921d5b4c2fba64d518caa3721a92f54007f [file] [log] [blame]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5
; RUN: opt < %s -passes=instcombine -S | FileCheck %s
; Make sure that we don't crash when optimizing shufflevector of <N x ptr> with <1 x i32> mask followed by bitcast of <1 x ptr> to ptr
define ptr @test(<3 x ptr> %vptr) {
; CHECK-LABEL: define ptr @test(
; CHECK-SAME: <3 x ptr> [[VPTR:%.*]]) {
; CHECK-NEXT: [[SV_EXTRACT:%.*]] = extractelement <3 x ptr> [[VPTR]], i64 0
; CHECK-NEXT: ret ptr [[SV_EXTRACT]]
;
%SV = shufflevector <3 x ptr> %vptr, <3 x ptr> zeroinitializer, <1 x i32> zeroinitializer
%BC = bitcast <1 x ptr> %SV to ptr
ret ptr %BC
}