xref: /llvm-project/llvm/test/Transforms/ArgumentPromotion/min-legal-vector-width.ll (revision d80eb928c78ab3f3a3320014b2b7d513642b1a7e)
17c044542SPhoebe Wang; RUN: opt < %s -passes=argpromotion -S | FileCheck %s
27c044542SPhoebe Wang
37c044542SPhoebe Wang; CHECK-LABEL: define i32 @foo() #0 {
4*d80eb928SYeaseen; CHECK-NEXT:      %.val = load <32 x half>, ptr poison, align 4
5becc02ceSYonghong Song; CHECK-NEXT:      call void @bar(<32 x half> %.val)
67c044542SPhoebe Wang; CHECK-NEXT:      ret i32 0
77c044542SPhoebe Wang; CHECK-NEXT:    }
87c044542SPhoebe Wang
9becc02ceSYonghong Song; CHECK-LABEL: define internal void @bar(<32 x half> %.0.val) #0 {
107c044542SPhoebe Wang; CHECK-NEXT:      ret void
117c044542SPhoebe Wang; CHECK-NEXT:    }
127c044542SPhoebe Wang
137c044542SPhoebe Wang; CHECK:    attributes #0 = { uwtable "min-legal-vector-width"="512" }
147c044542SPhoebe Wang
157c044542SPhoebe Wangdefine i32 @foo() #0 {
16*d80eb928SYeaseen  call void @bar(ptr poison)
177c044542SPhoebe Wang  ret i32 0
187c044542SPhoebe Wang}
197c044542SPhoebe Wang
20bcbc6151SNikita Popovdefine internal void @bar(ptr) #0 {
21bcbc6151SNikita Popov  %2 = load <32 x half>, ptr %0, align 4
227c044542SPhoebe Wang  ret void
237c044542SPhoebe Wang}
247c044542SPhoebe Wang
257c044542SPhoebe Wangattributes #0 = { uwtable "min-legal-vector-width"="0" }
26