[TTI] getTypeBasedIntrinsicInstrCost - add basic handling for strided load/store...
[llvm-project.git] / llvm / test / Transforms / ArgumentPromotion / min-legal-vector-width.ll
blobeb8181c2bd8100fbc19f7ccb100d5785ce8ee6a1
1 ; RUN: opt < %s -passes=argpromotion -S | FileCheck %s
3 ; CHECK-LABEL: define i32 @foo() #0 {
4 ; CHECK-NEXT:      %.val = load <32 x half>, ptr poison, align 4
5 ; CHECK-NEXT:      call void @bar(<32 x half> %.val)
6 ; CHECK-NEXT:      ret i32 0
7 ; CHECK-NEXT:    }
9 ; CHECK-LABEL: define internal void @bar(<32 x half> %.0.val) #0 {
10 ; CHECK-NEXT:      ret void
11 ; CHECK-NEXT:    }
13 ; CHECK:    attributes #0 = { uwtable "min-legal-vector-width"="512" }
15 define i32 @foo() #0 {
16   call void @bar(ptr poison)
17   ret i32 0
20 define internal void @bar(ptr) #0 {
21   %2 = load <32 x half>, ptr %0, align 4
22   ret void
25 attributes #0 = { uwtable "min-legal-vector-width"="0" }