Home | History | Annotate | Download | only in AMDGPU
      1 ; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
      2 ; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=GCN %s
      3 
      4 ; GCN-LABEL: {{^}}extract_vector_elt_v3f64_2:
      5 ; GCN: buffer_load_dwordx4
      6 ; GCN: buffer_load_dwordx2
      7 ; GCN: buffer_store_dwordx2
      8 define void @extract_vector_elt_v3f64_2(double addrspace(1)* %out, <3 x double> addrspace(1)* %in) #0 {
      9   %ld = load volatile <3 x double>, <3 x double> addrspace(1)* %in
     10   %elt = extractelement <3 x double> %ld, i32 2
     11   store volatile double %elt, double addrspace(1)* %out
     12   ret void
     13 }
     14 
     15 ; GCN-LABEL: {{^}}dyn_extract_vector_elt_v3f64:
     16 define void @dyn_extract_vector_elt_v3f64(double addrspace(1)* %out, <3 x double> %foo, i32 %elt) #0 {
     17   %dynelt = extractelement <3 x double> %foo, i32 %elt
     18   store volatile double %dynelt, double addrspace(1)* %out
     19   ret void
     20 }
     21 
     22 ; GCN-LABEL: {{^}}dyn_extract_vector_elt_v4f64:
     23 define void @dyn_extract_vector_elt_v4f64(double addrspace(1)* %out, <4 x double> %foo, i32 %elt) #0 {
     24   %dynelt = extractelement <4 x double> %foo, i32 %elt
     25   store volatile double %dynelt, double addrspace(1)* %out
     26   ret void
     27 }
     28 
     29 attributes #0 = { nounwind }
     30