The assembly optimizations were making unsafe assumptions about which address
spaces had which identifiers.
Also, fix vload/vstore with 64-bit pointers. This was broken previously on
Radeon SI.
This version still only has assembly versions of int/uint 2/4/8/16 for global
loads and stores on R600, but it does it in a way that would be very easily
extended to private/local/constant and could also be handled easily on other
architectures.
v2: 1) Leave v[load|store]_impl.ll in generic/lib
2) Remove vload_if.ll and vstore_if.ll interfaces
3) Fix address+offset calculations
3) Remove offset from assembly arg list
llvm-svn: 186416
8 lines
196 B
Plaintext
8 lines
196 B
Plaintext
workitem/get_group_id.ll
|
|
workitem/get_local_size.ll
|
|
workitem/get_local_id.ll
|
|
workitem/get_global_size.ll
|
|
synchronization/barrier.cl
|
|
synchronization/barrier_impl.ll
|
|
shared/vload.cl
|
|
shared/vstore.cl |