aboutsummaryrefslogtreecommitdiffhomepage
path: root/ptx/src/test/spirv_run/mad_s32.ptx
blob: a8642668982646e8a052079f3628010b062f8047 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.version 6.5
.target sm_30
.address_size 64

.visible .entry mad_s32(
	.param .u64 input,
	.param .u64 output
)
{
	.reg .u64 	    in_addr;
    .reg .u64 	    out_addr;
    .reg .s32 	    dst;
    .reg .s32 	    src1;
    .reg .s32 	    src2;
    .reg .s32 	    src3;

	ld.param.u64    in_addr, [input];
    ld.param.u64    out_addr, [output];

    ld.s32          src1, [in_addr];
    ld.s32          src2, [in_addr+4];
    ld.s32          src3, [in_addr+8];
	mad.lo.s32      dst, src1, src2, src3;
    st.s32          [out_addr], dst;
    st.s32          [out_addr+4], dst;
    st.s32          [out_addr+8], dst;
	ret;
}