From 11db0bb64d68b73c392867eca66f46f8ebdac84f Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Wed, 20 Apr 2022 09:05:28 -0700 Subject: [PATCH] [InstCombine] Pre-commit test for D124015 Reviewed By: spatel Differential Revision: https://reviews.llvm.org/D124016 --- llvm/test/Transforms/InstCombine/bitcast.ll | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/llvm/test/Transforms/InstCombine/bitcast.ll b/llvm/test/Transforms/InstCombine/bitcast.ll index b8fe1f2c3886..94f532a46161 100644 --- a/llvm/test/Transforms/InstCombine/bitcast.ll +++ b/llvm/test/Transforms/InstCombine/bitcast.ll @@ -431,6 +431,20 @@ define <2 x float> @test6(float %A){ ret <2 x float> %tmp35 } +; FIXME: This test should not be optimized by OptimizeIntegerToVectorInsertions. +; The bitcast from vector is confusing it. +define <2 x i64> @int2vec_insertion_bitcast_from_vec(i64 %x) { +; CHECK-LABEL: @int2vec_insertion_bitcast_from_vec( +; CHECK-NEXT: [[TMP1:%.*]] = insertelement <2 x i64> , i64 [[X:%.*]], i64 0 +; CHECK-NEXT: ret <2 x i64> [[TMP1]] +; + %a = bitcast i64 %x to <8 x i8> + %b = zext <8 x i8> %a to <8 x i16> + %c = bitcast <8 x i16> %b to i128 + %d = bitcast i128 %c to <2 x i64> + ret <2 x i64> %d +} + define i64 @ISPC0(i64 %in) { ; CHECK-LABEL: @ISPC0( ; CHECK-NEXT: ret i64 0