93 lines
1.4 KiB
ArmAsm
93 lines
1.4 KiB
ArmAsm
#include <VX_config.h>
|
|
|
|
.section .text
|
|
|
|
.type vx_wspawn, @function
|
|
.global vx_wspawn
|
|
vx_wspawn:
|
|
.word 0x00b5106b # wspawn a0(num_warps), a1(func_ptr)
|
|
ret
|
|
|
|
.type vx_tmc, @function
|
|
.global vx_tmc
|
|
vx_tmc:
|
|
.word 0x0005006b # tmc a0
|
|
ret
|
|
|
|
.type vx_barrier, @function
|
|
.global vx_barrier
|
|
vx_barrier:
|
|
.word 0x00b5406b # barrier a0(barrier_id), a1(num_warps)
|
|
ret
|
|
|
|
.type vx_split, @function
|
|
.global vx_split
|
|
vx_split:
|
|
.word 0x0005206b # split a0
|
|
ret
|
|
|
|
.type vx_join, @function
|
|
.global vx_join
|
|
vx_join:
|
|
.word 0x0000306b #join
|
|
ret
|
|
|
|
.type vx_warp_id, @function
|
|
.global vx_warp_id
|
|
vx_warp_id:
|
|
csrr a0, CSR_LWID
|
|
ret
|
|
|
|
.type vx_warp_gid, @function
|
|
.global vx_warp_gid
|
|
vx_warp_gid:
|
|
csrr a0, CSR_GWID
|
|
ret
|
|
|
|
.type vx_thread_id, @function
|
|
.global vx_thread_id
|
|
vx_thread_id:
|
|
csrr a0, CSR_LTID
|
|
ret
|
|
|
|
.type vx_thread_gid, @function
|
|
.global vx_thread_gid
|
|
vx_thread_gid:
|
|
csrr a0, CSR_GTID
|
|
ret
|
|
|
|
.type vx_core_id, @function
|
|
.global vx_core_id
|
|
vx_core_id:
|
|
csrr a0, CSR_GCID
|
|
ret
|
|
|
|
.type vx_num_threads, @function
|
|
.global vx_num_threads
|
|
vx_num_threads:
|
|
csrr a0, CSR_NT
|
|
ret
|
|
|
|
.type vx_num_warps, @function
|
|
.global vx_num_warps
|
|
vx_num_warps:
|
|
csrr a0, CSR_NW
|
|
ret
|
|
|
|
.type vx_num_cores, @function
|
|
.global vx_num_cores
|
|
vx_num_cores:
|
|
csrr a0, CSR_NC
|
|
ret
|
|
|
|
.type vx_num_cycles, @function
|
|
.global vx_num_cycles
|
|
vx_num_cycles:
|
|
csrr a0, CSR_CYCLL
|
|
ret
|
|
|
|
.type vx_num_instrs, @function
|
|
.global vx_num_instrs
|
|
vx_num_instrs:
|
|
csrr a0, CSR_INSTL
|
|
ret |