Justin Holewinski | 4f5bc9b | 2013-11-11 19:28:16 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=nvptx -mcpu=sm_20 | FileCheck %s |
| 2 | |
| 3 | target triple = "nvptx-unknown-cuda" |
| 4 | |
| 5 | ; CHECK: .visible .func foo |
| 6 | define void @foo(<8 x i8> %a, i8* %b) { |
Artem Belevich | 29bbdc1 | 2017-02-21 22:56:05 +0000 | [diff] [blame] | 7 | ; CHECK-DAG: ld.param.v4.u8 {[[E0:%rs[0-9]+]], [[E1:%rs[0-9]+]], [[E2:%rs[0-9]+]], [[E3:%rs[0-9]+]]}, [foo_param_0] |
| 8 | ; CHECK-DAG: ld.param.v4.u8 {[[E4:%rs[0-9]+]], [[E5:%rs[0-9]+]], [[E6:%rs[0-9]+]], [[E7:%rs[0-9]+]]}, [foo_param_0+4] |
| 9 | ; CHECK-DAG: ld.param.u32 %[[B:r[0-9+]]], [foo_param_1] |
Hans Wennborg | b00ffd8 | 2017-05-18 18:50:05 +0000 | [diff] [blame] | 10 | ; CHECK: add.s16 [[T:%rs[0-9+]]], [[E1]], [[E6]]; |
Artem Belevich | 29bbdc1 | 2017-02-21 22:56:05 +0000 | [diff] [blame] | 11 | ; CHECK: st.u8 [%[[B]]], [[T]]; |
| 12 | %t0 = extractelement <8 x i8> %a, i32 1 |
| 13 | %t1 = extractelement <8 x i8> %a, i32 6 |
| 14 | %t = add i8 %t0, %t1 |
| 15 | store i8 %t, i8* %b |
Justin Holewinski | 4f5bc9b | 2013-11-11 19:28:16 +0000 | [diff] [blame] | 16 | ret void |
| 17 | } |
| 18 | |