aboutsummaryrefslogtreecommitdiff
path: root/llvm/test/Transforms/LowerMatrixIntrinsics/analysis-invalidation.ll
blob: a747328a71e7a815fde249fa9a914a7d1d502abe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
; 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)