| ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 5 |
| ; RUN: opt -p lower-matrix-intrinsics -verify-analysis-invalidation -S %s | FileCheck %s |
| |
| define <3 x float> @splat_transpose(<3 x float> %in) { |
| ; CHECK-LABEL: define <3 x float> @splat_transpose( |
| ; CHECK-SAME: <3 x float> [[IN:%.*]]) { |
| ; CHECK-NEXT: [[ENTRY:.*:]] |
| ; CHECK-NEXT: [[SPLAT:%.*]] = shufflevector <3 x float> [[IN]], <3 x float> zeroinitializer, <3 x i32> zeroinitializer |
| ; CHECK-NEXT: ret <3 x float> [[SPLAT]] |
| ; |
| entry: |
| %splat = shufflevector <3 x float> %in, <3 x float> zeroinitializer, <3 x i32> zeroinitializer |
| %r = tail call <3 x float> @llvm.matrix.transpose.v3f32(<3 x float> %splat, i32 3, i32 1) |
| ret <3 x float> %r |
| } |
| |
| declare <3 x float> @llvm.matrix.transpose.v3f32(<3 x float>, i32 immarg, i32 immarg) |