• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; REQUIRES: asserts
2; XFAIL: *
3; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs< %s | FileCheck -check-prefix=SI %s
4
5
6; SI-LABEL: @dynamic_insertelement_v2f64:
7; SI: BUFFER_STORE_DWORDX4
8define void @dynamic_insertelement_v2f64(<2 x double> addrspace(1)* %out, <2 x double> %a, i32 %b) nounwind {
9  %vecins = insertelement <2 x double> %a, double 8.0, i32 %b
10  store <2 x double> %vecins, <2 x double> addrspace(1)* %out, align 16
11  ret void
12}
13
14; SI-LABEL: @dynamic_insertelement_v2f64:
15; SI: BUFFER_STORE_DWORDX4
16define void @dynamic_insertelement_v2i64(<2 x i64> addrspace(1)* %out, <2 x i64> %a, i32 %b) nounwind {
17  %vecins = insertelement <2 x i64> %a, i64 5, i32 %b
18  store <2 x i64> %vecins, <2 x i64> addrspace(1)* %out, align 8
19  ret void
20}
21
22; SI-LABEL: @dynamic_insertelement_v4f64:
23; SI: BUFFER_STORE_DWORDX4
24define void @dynamic_insertelement_v4f64(<4 x double> addrspace(1)* %out, <4 x double> %a, i32 %b) nounwind {
25  %vecins = insertelement <4 x double> %a, double 8.0, i32 %b
26  store <4 x double> %vecins, <4 x double> addrspace(1)* %out, align 16
27  ret void
28}
29
30; SI-LABEL: @dynamic_insertelement_v8f64:
31; SI: BUFFER_STORE_DWORDX4
32define void @dynamic_insertelement_v8f64(<8 x double> addrspace(1)* %out, <8 x double> %a, i32 %b) nounwind {
33  %vecins = insertelement <8 x double> %a, double 8.0, i32 %b
34  store <8 x double> %vecins, <8 x double> addrspace(1)* %out, align 16
35  ret void
36}
37