Added simple_main

This commit is contained in:
felsabbagh3 2019-11-07 00:10:06 -05:00
parent bf43680b7c
commit 9e2de897f0
19 changed files with 2524 additions and 290 deletions

View file

@ -1,4 +1,4 @@
echo start > results.txt
echo ../kernel/vortex_test.hex
./harptool -E -a rv32i --core ../runtime/vortex_runtime.hex -s -b 1> emulator.debug
./harptool -E -a rv32i --core ../runtime/mains/simple/vx_simple_main.hex -s -b 1> emulator.debug

View file

@ -61,7 +61,7 @@ module vortex_tb (
initial begin
// $fdumpfile("vortex1.vcd");
load_file("../../runtime/vortex_runtime.hex");
load_file("../../runtime/mains/simple/vx_simple_main.hex");
//load_file("../../kernel/vortex_test.hex");
$dumpvars(0, vortex_tb);
reset = 1;

View file

@ -0,0 +1,26 @@
COMP = /opt/riscv/bin/riscv32-unknown-elf-gcc
CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib
DMP = /opt/riscv/bin/riscv32-unknown-elf-objdump
CPY = /opt/riscv/bin/riscv32-unknown-elf-objcopy
VX_STR = ../../startup/vx_start.s
VX_INT = ../../intrinsics/vx_intrinsics.s
VX_IO = ../../io/vx_io.s ../../io/vx_io.c
VX_API = ../../vx_api/vx_api.c
VX_TEST = ../../tests/tests.c
VX_MAIN = ./vx_dev_main.c
all: HEX DUMP ELF
DUMP: ELF
$(DMP) -D vx_dev_main.elf > vx_dev_main.dump
HEX: ELF
$(CPY) -O ihex vx_dev_main.elf vx_dev_main.hex
ELF:
$(COMP) $(CC_FLAGS) $(VX_STR) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) $(VX_MAIN) -o vx_dev_main.elf

View file

@ -0,0 +1,48 @@
/* ---- Original Script: /opt/riscv32i/riscv32-unknown-elf/lib/ldscripts/elf32lriscv.x ---- */
/* Default linker script, for normal executables */
/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
Copying and distribution of this script, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. */
OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv",
"elf32-littleriscv")
OUTPUT_ARCH(riscv)
ENTRY(_start)
SECTIONS
{
. = 0x80000000;
.text :
{
*(.text)
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
}
.init :
{
KEEP (*(SORT_NONE(.init)))
}
.plt : { *(.plt) }
.iplt : { *(.iplt) }
.fini :
{
KEEP (*(SORT_NONE(.fini)))
}
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
PROVIDE (_edata = .);
PROVIDE (_end = .);
PROVIDE (__global_pointer$ = .);
. = 0x81000000;
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
. = 0x82000000;
.comment : { *(.comment) }
}

View file

@ -0,0 +1,84 @@
#include "../../intrinsics/vx_intrinsics.h"
#include "../../io/vx_io.h"
#include "../../tests/tests.h"
#include "../../vx_api/vx_api.h"
typedef struct
{
unsigned * x;
unsigned * y;
unsigned * z;
unsigned numColums;
unsigned numRows;
} mat_add_args_t;
unsigned x[] = {5, 5, 5, 5,
6, 6, 6, 6,
7, 7, 7, 7,
8, 8, 8, 8};
unsigned y[] = {1, 1, 1, 1,
1, 1, 1, 1,
1, 1, 1, 1,
1, 1, 1, 1};
unsigned z[] = {0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0,
0, 0, 0, 0};
void mat_add_kernel(void * void_arguments)
{
mat_add_args_t * arguments = (mat_add_args_t *) void_arguments;
unsigned wid = vx_warpID();
unsigned tid = vx_threadID();
bool valid = (wid < arguments->numRows) && (tid < arguments->numColums);
__if (valid)
{
unsigned index = (wid * arguments->numColums) + tid;
arguments->z[index] = arguments->x[index] + arguments->y[index];
}
__endif
}
int main()
{
// Main is called with all threads active of warp 0
vx_tmc(1);
vx_print_str("Dev Main");
mat_add_args_t arguments;
arguments.x = x;
arguments.y = y;
arguments.z = z;
arguments.numColums = 4;
arguments.numRows = 4;
int numWarps = 4;
int numThreads = 4;
vx_spawnWarps(numWarps, numThreads, mat_add_kernel, &arguments);
for (int i = 0; i < arguments.numRows; i++)
{
for (int j = 0; j < arguments.numColums; j++)
{
unsigned index = (i * arguments.numColums) + j;
vx_print_hex(z[index]);
vx_print_str(" ");
}
vx_print_str("\n");
}
return 0;
}

View file

@ -0,0 +1,929 @@
vx_dev_main.elf: file format elf32-littleriscv
Disassembly of section .text:
80000000 <_start>:
80000000: 00000597 auipc a1,0x0
80000004: 02058593 addi a1,a1,32 # 80000020 <vx_set_sp>
80000008: 00400513 li a0,4
8000000c: 00b5106b 0xb5106b
80000010: 010000ef jal ra,80000020 <vx_set_sp>
80000014: 748000ef jal ra,8000075c <main>
80000018: 00000513 li a0,0
8000001c: 0005006b 0x5006b
80000020 <vx_set_sp>:
80000020: 00400513 li a0,4
80000024: 0005006b 0x5006b
80000028: 021026f3 csrr a3,0x21
8000002c: 01a69693 slli a3,a3,0x1a
80000030: 02002673 csrr a2,0x20
80000034: 00a61593 slli a1,a2,0xa
80000038: 00261613 slli a2,a2,0x2
8000003c: 6ffff137 lui sp,0x6ffff
80000040: 40b10133 sub sp,sp,a1
80000044: 40d10133 sub sp,sp,a3
80000048: 00c10133 add sp,sp,a2
8000004c: 021026f3 csrr a3,0x21
80000050: 00068663 beqz a3,8000005c <RETURN>
80000054: 00000513 li a0,0
80000058: 0005006b 0x5006b
8000005c <RETURN>:
8000005c: 00008067 ret
80000060 <vx_wspawn>:
80000060: 00b5106b 0xb5106b
80000064: 00008067 ret
80000068 <vx_tmc>:
80000068: 0005006b 0x5006b
8000006c: 00008067 ret
80000070 <vx_barrier>:
80000070: 00b5406b 0xb5406b
80000074: 00008067 ret
80000078 <vx_split>:
80000078: 0005206b 0x5206b
8000007c: 00008067 ret
80000080 <vx_join>:
80000080: 0000306b 0x306b
80000084: 00008067 ret
80000088 <vx_warpID>:
80000088: 02102573 csrr a0,0x21
8000008c: 00008067 ret
80000090 <vx_threadID>:
80000090: 02002573 csrr a0,0x20
80000094: 00008067 ret
80000098 <vx_resetStack>:
80000098: 00400513 li a0,4
8000009c: 0005006b 0x5006b
800000a0: 021026f3 csrr a3,0x21
800000a4: 00f69693 slli a3,a3,0xf
800000a8: 02002673 csrr a2,0x20
800000ac: 00a61593 slli a1,a2,0xa
800000b0: 00261613 slli a2,a2,0x2
800000b4: 6ffff137 lui sp,0x6ffff
800000b8: 40b10133 sub sp,sp,a1
800000bc: 40d10133 sub sp,sp,a3
800000c0: 00c10133 add sp,sp,a2
800000c4: 021026f3 csrr a3,0x21
800000c8: 00068663 beqz a3,800000d4 <RETURN>
800000cc: 00000513 li a0,0
800000d0: 0005006b 0x5006b
800000d4 <RETURN>:
800000d4: 00008067 ret
800000d8 <vx_print_str>:
800000d8: ff410113 addi sp,sp,-12 # 6fffeff4 <_start-0x1000100c>
800000dc: 00112023 sw ra,0(sp)
800000e0: 00b12223 sw a1,4(sp)
800000e4 <bl>:
800000e4: 00054583 lbu a1,0(a0)
800000e8: 00058863 beqz a1,800000f8 <be>
800000ec: 01c000ef jal ra,80000108 <vx_printc>
800000f0: 00150513 addi a0,a0,1
800000f4: ff1ff06f j 800000e4 <bl>
800000f8 <be>:
800000f8: 00012083 lw ra,0(sp)
800000fc: 00412583 lw a1,4(sp)
80000100: 00c10113 addi sp,sp,12
80000104: 00008067 ret
80000108 <vx_printc>:
80000108: 000102b7 lui t0,0x10
8000010c: 00b2a023 sw a1,0(t0) # 10000 <_start-0x7fff0000>
80000110: 00008067 ret
80000114 <vx_print_hex>:
80000114: fe010113 addi sp,sp,-32
80000118: 00112e23 sw ra,28(sp)
8000011c: 00812c23 sw s0,24(sp)
80000120: 02010413 addi s0,sp,32
80000124: fea42623 sw a0,-20(s0)
80000128: 810007b7 lui a5,0x81000
8000012c: fec42703 lw a4,-20(s0)
80000130: 00271713 slli a4,a4,0x2
80000134: 10878793 addi a5,a5,264 # 81000108 <z+0xfffffe94>
80000138: 00f707b3 add a5,a4,a5
8000013c: 0007a783 lw a5,0(a5)
80000140: 00078513 mv a0,a5
80000144: f95ff0ef jal ra,800000d8 <vx_print_str>
80000148: 00000013 nop
8000014c: 01c12083 lw ra,28(sp)
80000150: 01812403 lw s0,24(sp)
80000154: 02010113 addi sp,sp,32
80000158: 00008067 ret
8000015c <vx_printf>:
8000015c: fe010113 addi sp,sp,-32
80000160: 00112e23 sw ra,28(sp)
80000164: 00812c23 sw s0,24(sp)
80000168: 02010413 addi s0,sp,32
8000016c: fea42623 sw a0,-20(s0)
80000170: feb42423 sw a1,-24(s0)
80000174: fec42503 lw a0,-20(s0)
80000178: f61ff0ef jal ra,800000d8 <vx_print_str>
8000017c: fe842503 lw a0,-24(s0)
80000180: f95ff0ef jal ra,80000114 <vx_print_hex>
80000184: 810007b7 lui a5,0x81000
80000188: 04078513 addi a0,a5,64 # 81000040 <z+0xfffffdcc>
8000018c: f4dff0ef jal ra,800000d8 <vx_print_str>
80000190: 00000013 nop
80000194: 01c12083 lw ra,28(sp)
80000198: 01812403 lw s0,24(sp)
8000019c: 02010113 addi sp,sp,32
800001a0: 00008067 ret
800001a4 <setup_call>:
800001a4: fe010113 addi sp,sp,-32
800001a8: 00112e23 sw ra,28(sp)
800001ac: 00812c23 sw s0,24(sp)
800001b0: 02010413 addi s0,sp,32
800001b4: 810007b7 lui a5,0x81000
800001b8: 2507a783 lw a5,592(a5) # 81000250 <z+0xffffffdc>
800001bc: 00078513 mv a0,a5
800001c0: ea9ff0ef jal ra,80000068 <vx_tmc>
800001c4: 810007b7 lui a5,0x81000
800001c8: 24c7a703 lw a4,588(a5) # 8100024c <z+0xffffffd8>
800001cc: 810007b7 lui a5,0x81000
800001d0: 2487a783 lw a5,584(a5) # 81000248 <z+0xffffffd4>
800001d4: 00078513 mv a0,a5
800001d8: 000700e7 jalr a4
800001dc: eadff0ef jal ra,80000088 <vx_warpID>
800001e0: fea42623 sw a0,-20(s0)
800001e4: fec42783 lw a5,-20(s0)
800001e8: 00078863 beqz a5,800001f8 <setup_call+0x54>
800001ec: 00000513 li a0,0
800001f0: e79ff0ef jal ra,80000068 <vx_tmc>
800001f4: 00c0006f j 80000200 <setup_call+0x5c>
800001f8: 00100513 li a0,1
800001fc: e6dff0ef jal ra,80000068 <vx_tmc>
80000200: 00000013 nop
80000204: 01c12083 lw ra,28(sp)
80000208: 01812403 lw s0,24(sp)
8000020c: 02010113 addi sp,sp,32
80000210: 00008067 ret
80000214 <vx_spawnWarps>:
80000214: fe010113 addi sp,sp,-32
80000218: 00112e23 sw ra,28(sp)
8000021c: 00812c23 sw s0,24(sp)
80000220: 02010413 addi s0,sp,32
80000224: fea42623 sw a0,-20(s0)
80000228: feb42423 sw a1,-24(s0)
8000022c: fec42223 sw a2,-28(s0)
80000230: fed42023 sw a3,-32(s0)
80000234: 810007b7 lui a5,0x81000
80000238: fe442703 lw a4,-28(s0)
8000023c: 24e7a623 sw a4,588(a5) # 8100024c <z+0xffffffd8>
80000240: 810007b7 lui a5,0x81000
80000244: fe042703 lw a4,-32(s0)
80000248: 24e7a423 sw a4,584(a5) # 81000248 <z+0xffffffd4>
8000024c: 810007b7 lui a5,0x81000
80000250: fe842703 lw a4,-24(s0)
80000254: 24e7a823 sw a4,592(a5) # 81000250 <z+0xffffffdc>
80000258: 800007b7 lui a5,0x80000
8000025c: 1a478793 addi a5,a5,420 # 800001a4 <z+0xfeffff30>
80000260: 00078593 mv a1,a5
80000264: fec42503 lw a0,-20(s0)
80000268: df9ff0ef jal ra,80000060 <vx_wspawn>
8000026c: f39ff0ef jal ra,800001a4 <setup_call>
80000270: 00000013 nop
80000274: 01c12083 lw ra,28(sp)
80000278: 01812403 lw s0,24(sp)
8000027c: 02010113 addi sp,sp,32
80000280: 00008067 ret
80000284 <test_tmc>:
80000284: fe010113 addi sp,sp,-32
80000288: 00112e23 sw ra,28(sp)
8000028c: 00812c23 sw s0,24(sp)
80000290: 02010413 addi s0,sp,32
80000294: 810007b7 lui a5,0x81000
80000298: 08478513 addi a0,a5,132 # 81000084 <z+0xfffffe10>
8000029c: e3dff0ef jal ra,800000d8 <vx_print_str>
800002a0: 00400513 li a0,4
800002a4: dc5ff0ef jal ra,80000068 <vx_tmc>
800002a8: de9ff0ef jal ra,80000090 <vx_threadID>
800002ac: fea42623 sw a0,-20(s0)
800002b0: fec42703 lw a4,-20(s0)
800002b4: 810007b7 lui a5,0x81000
800002b8: fec42683 lw a3,-20(s0)
800002bc: 00269693 slli a3,a3,0x2
800002c0: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
800002c4: 00f687b3 add a5,a3,a5
800002c8: 00e7a023 sw a4,0(a5)
800002cc: 00100513 li a0,1
800002d0: d99ff0ef jal ra,80000068 <vx_tmc>
800002d4: 810007b7 lui a5,0x81000
800002d8: 2547a783 lw a5,596(a5) # 81000254 <z+0xffffffe0>
800002dc: 00078513 mv a0,a5
800002e0: e35ff0ef jal ra,80000114 <vx_print_hex>
800002e4: 810007b7 lui a5,0x81000
800002e8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
800002ec: dedff0ef jal ra,800000d8 <vx_print_str>
800002f0: 810007b7 lui a5,0x81000
800002f4: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
800002f8: 0047a783 lw a5,4(a5)
800002fc: 00078513 mv a0,a5
80000300: e15ff0ef jal ra,80000114 <vx_print_hex>
80000304: 810007b7 lui a5,0x81000
80000308: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
8000030c: dcdff0ef jal ra,800000d8 <vx_print_str>
80000310: 810007b7 lui a5,0x81000
80000314: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
80000318: 0087a783 lw a5,8(a5)
8000031c: 00078513 mv a0,a5
80000320: df5ff0ef jal ra,80000114 <vx_print_hex>
80000324: 810007b7 lui a5,0x81000
80000328: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
8000032c: dadff0ef jal ra,800000d8 <vx_print_str>
80000330: 810007b7 lui a5,0x81000
80000334: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
80000338: 00c7a783 lw a5,12(a5)
8000033c: 00078513 mv a0,a5
80000340: dd5ff0ef jal ra,80000114 <vx_print_hex>
80000344: 810007b7 lui a5,0x81000
80000348: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
8000034c: d8dff0ef jal ra,800000d8 <vx_print_str>
80000350: 00000013 nop
80000354: 01c12083 lw ra,28(sp)
80000358: 01812403 lw s0,24(sp)
8000035c: 02010113 addi sp,sp,32
80000360: 00008067 ret
80000364 <test_divergence>:
80000364: fe010113 addi sp,sp,-32
80000368: 00112e23 sw ra,28(sp)
8000036c: 00812c23 sw s0,24(sp)
80000370: 02010413 addi s0,sp,32
80000374: d1dff0ef jal ra,80000090 <vx_threadID>
80000378: fea42623 sw a0,-20(s0)
8000037c: fec42783 lw a5,-20(s0)
80000380: 0027b793 sltiu a5,a5,2
80000384: fef405a3 sb a5,-21(s0)
80000388: feb44783 lbu a5,-21(s0)
8000038c: 00078513 mv a0,a5
80000390: ce9ff0ef jal ra,80000078 <vx_split>
80000394: feb44783 lbu a5,-21(s0)
80000398: 06078463 beqz a5,80000400 <test_divergence+0x9c>
8000039c: fec42783 lw a5,-20(s0)
800003a0: 0017b793 seqz a5,a5
800003a4: fef40523 sb a5,-22(s0)
800003a8: fea44783 lbu a5,-22(s0)
800003ac: 00078513 mv a0,a5
800003b0: cc9ff0ef jal ra,80000078 <vx_split>
800003b4: fea44783 lbu a5,-22(s0)
800003b8: 02078263 beqz a5,800003dc <test_divergence+0x78>
800003bc: 810007b7 lui a5,0x81000
800003c0: fec42703 lw a4,-20(s0)
800003c4: 00271713 slli a4,a4,0x2
800003c8: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
800003cc: 00f707b3 add a5,a4,a5
800003d0: 00a00713 li a4,10
800003d4: 00e7a023 sw a4,0(a5)
800003d8: 0200006f j 800003f8 <test_divergence+0x94>
800003dc: 810007b7 lui a5,0x81000
800003e0: fec42703 lw a4,-20(s0)
800003e4: 00271713 slli a4,a4,0x2
800003e8: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
800003ec: 00f707b3 add a5,a4,a5
800003f0: 00b00713 li a4,11
800003f4: 00e7a023 sw a4,0(a5)
800003f8: c89ff0ef jal ra,80000080 <vx_join>
800003fc: 0640006f j 80000460 <test_divergence+0xfc>
80000400: fec42783 lw a5,-20(s0)
80000404: 0037b793 sltiu a5,a5,3
80000408: fef404a3 sb a5,-23(s0)
8000040c: fe944783 lbu a5,-23(s0)
80000410: 00078513 mv a0,a5
80000414: c65ff0ef jal ra,80000078 <vx_split>
80000418: fe944783 lbu a5,-23(s0)
8000041c: 02078263 beqz a5,80000440 <test_divergence+0xdc>
80000420: 810007b7 lui a5,0x81000
80000424: fec42703 lw a4,-20(s0)
80000428: 00271713 slli a4,a4,0x2
8000042c: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
80000430: 00f707b3 add a5,a4,a5
80000434: 00c00713 li a4,12
80000438: 00e7a023 sw a4,0(a5)
8000043c: 0200006f j 8000045c <test_divergence+0xf8>
80000440: 810007b7 lui a5,0x81000
80000444: fec42703 lw a4,-20(s0)
80000448: 00271713 slli a4,a4,0x2
8000044c: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
80000450: 00f707b3 add a5,a4,a5
80000454: 00d00713 li a4,13
80000458: 00e7a023 sw a4,0(a5)
8000045c: c25ff0ef jal ra,80000080 <vx_join>
80000460: c21ff0ef jal ra,80000080 <vx_join>
80000464: 810007b7 lui a5,0x81000
80000468: 2547a783 lw a5,596(a5) # 81000254 <z+0xffffffe0>
8000046c: 00078513 mv a0,a5
80000470: ca5ff0ef jal ra,80000114 <vx_print_hex>
80000474: 810007b7 lui a5,0x81000
80000478: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
8000047c: c5dff0ef jal ra,800000d8 <vx_print_str>
80000480: 810007b7 lui a5,0x81000
80000484: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
80000488: 0047a783 lw a5,4(a5)
8000048c: 00078513 mv a0,a5
80000490: c85ff0ef jal ra,80000114 <vx_print_hex>
80000494: 810007b7 lui a5,0x81000
80000498: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
8000049c: c3dff0ef jal ra,800000d8 <vx_print_str>
800004a0: 810007b7 lui a5,0x81000
800004a4: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
800004a8: 0087a783 lw a5,8(a5)
800004ac: 00078513 mv a0,a5
800004b0: c65ff0ef jal ra,80000114 <vx_print_hex>
800004b4: 810007b7 lui a5,0x81000
800004b8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
800004bc: c1dff0ef jal ra,800000d8 <vx_print_str>
800004c0: 810007b7 lui a5,0x81000
800004c4: 25478793 addi a5,a5,596 # 81000254 <z+0xffffffe0>
800004c8: 00c7a783 lw a5,12(a5)
800004cc: 00078513 mv a0,a5
800004d0: c45ff0ef jal ra,80000114 <vx_print_hex>
800004d4: 810007b7 lui a5,0x81000
800004d8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
800004dc: bfdff0ef jal ra,800000d8 <vx_print_str>
800004e0: 00000013 nop
800004e4: 01c12083 lw ra,28(sp)
800004e8: 01812403 lw s0,24(sp)
800004ec: 02010113 addi sp,sp,32
800004f0: 00008067 ret
800004f4 <simple_kernel>:
800004f4: fe010113 addi sp,sp,-32
800004f8: 00112e23 sw ra,28(sp)
800004fc: 00812c23 sw s0,24(sp)
80000500: 02010413 addi s0,sp,32
80000504: b85ff0ef jal ra,80000088 <vx_warpID>
80000508: fea42623 sw a0,-20(s0)
8000050c: 810007b7 lui a5,0x81000
80000510: fec42703 lw a4,-20(s0)
80000514: 00271713 slli a4,a4,0x2
80000518: 26478793 addi a5,a5,612 # 81000264 <z+0xfffffff0>
8000051c: 00f707b3 add a5,a4,a5
80000520: fec42703 lw a4,-20(s0)
80000524: 00e7a023 sw a4,0(a5)
80000528: fec42783 lw a5,-20(s0)
8000052c: 00078663 beqz a5,80000538 <simple_kernel+0x44>
80000530: 00000513 li a0,0
80000534: b35ff0ef jal ra,80000068 <vx_tmc>
80000538: 00000013 nop
8000053c: 01c12083 lw ra,28(sp)
80000540: 01812403 lw s0,24(sp)
80000544: 02010113 addi sp,sp,32
80000548: 00008067 ret
8000054c <test_wsapwn>:
8000054c: fe010113 addi sp,sp,-32
80000550: 00112e23 sw ra,28(sp)
80000554: 00812c23 sw s0,24(sp)
80000558: 02010413 addi s0,sp,32
8000055c: 800007b7 lui a5,0x80000
80000560: 4f478793 addi a5,a5,1268 # 800004f4 <z+0xff000280>
80000564: fef42623 sw a5,-20(s0)
80000568: fec42583 lw a1,-20(s0)
8000056c: 00400513 li a0,4
80000570: af1ff0ef jal ra,80000060 <vx_wspawn>
80000574: f81ff0ef jal ra,800004f4 <simple_kernel>
80000578: 810007b7 lui a5,0x81000
8000057c: 2647a783 lw a5,612(a5) # 81000264 <z+0xfffffff0>
80000580: 00078513 mv a0,a5
80000584: b91ff0ef jal ra,80000114 <vx_print_hex>
80000588: 810007b7 lui a5,0x81000
8000058c: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
80000590: b49ff0ef jal ra,800000d8 <vx_print_str>
80000594: 810007b7 lui a5,0x81000
80000598: 26478793 addi a5,a5,612 # 81000264 <z+0xfffffff0>
8000059c: 0047a783 lw a5,4(a5)
800005a0: 00078513 mv a0,a5
800005a4: b71ff0ef jal ra,80000114 <vx_print_hex>
800005a8: 810007b7 lui a5,0x81000
800005ac: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
800005b0: b29ff0ef jal ra,800000d8 <vx_print_str>
800005b4: 810007b7 lui a5,0x81000
800005b8: 26478793 addi a5,a5,612 # 81000264 <z+0xfffffff0>
800005bc: 0087a783 lw a5,8(a5)
800005c0: 00078513 mv a0,a5
800005c4: b51ff0ef jal ra,80000114 <vx_print_hex>
800005c8: 810007b7 lui a5,0x81000
800005cc: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
800005d0: b09ff0ef jal ra,800000d8 <vx_print_str>
800005d4: 810007b7 lui a5,0x81000
800005d8: 26478793 addi a5,a5,612 # 81000264 <z+0xfffffff0>
800005dc: 00c7a783 lw a5,12(a5)
800005e0: 00078513 mv a0,a5
800005e4: b31ff0ef jal ra,80000114 <vx_print_hex>
800005e8: 810007b7 lui a5,0x81000
800005ec: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe1c>
800005f0: ae9ff0ef jal ra,800000d8 <vx_print_str>
800005f4: 00000013 nop
800005f8: 01c12083 lw ra,28(sp)
800005fc: 01812403 lw s0,24(sp)
80000600: 02010113 addi sp,sp,32
80000604: 00008067 ret
80000608 <intrinsics_tests>:
80000608: ff010113 addi sp,sp,-16
8000060c: 00112623 sw ra,12(sp)
80000610: 00812423 sw s0,8(sp)
80000614: 01010413 addi s0,sp,16
80000618: c6dff0ef jal ra,80000284 <test_tmc>
8000061c: 810007b7 lui a5,0x81000
80000620: 09478513 addi a0,a5,148 # 81000094 <z+0xfffffe20>
80000624: ab5ff0ef jal ra,800000d8 <vx_print_str>
80000628: 00400513 li a0,4
8000062c: a3dff0ef jal ra,80000068 <vx_tmc>
80000630: d35ff0ef jal ra,80000364 <test_divergence>
80000634: 00100513 li a0,1
80000638: a31ff0ef jal ra,80000068 <vx_tmc>
8000063c: 810007b7 lui a5,0x81000
80000640: 0a878513 addi a0,a5,168 # 810000a8 <z+0xfffffe34>
80000644: a95ff0ef jal ra,800000d8 <vx_print_str>
80000648: f05ff0ef jal ra,8000054c <test_wsapwn>
8000064c: 00000013 nop
80000650: 00c12083 lw ra,12(sp)
80000654: 00812403 lw s0,8(sp)
80000658: 01010113 addi sp,sp,16
8000065c: 00008067 ret
80000660 <mat_add_kernel>:
80000660: fc010113 addi sp,sp,-64
80000664: 02112e23 sw ra,60(sp)
80000668: 02812c23 sw s0,56(sp)
8000066c: 04010413 addi s0,sp,64
80000670: fca42623 sw a0,-52(s0)
80000674: fcc42783 lw a5,-52(s0)
80000678: fef42623 sw a5,-20(s0)
8000067c: a0dff0ef jal ra,80000088 <vx_warpID>
80000680: fea42423 sw a0,-24(s0)
80000684: a0dff0ef jal ra,80000090 <vx_threadID>
80000688: fea42223 sw a0,-28(s0)
8000068c: fec42783 lw a5,-20(s0)
80000690: 0107a783 lw a5,16(a5)
80000694: fe842703 lw a4,-24(s0)
80000698: 00f77e63 bgeu a4,a5,800006b4 <mat_add_kernel+0x54>
8000069c: fec42783 lw a5,-20(s0)
800006a0: 00c7a783 lw a5,12(a5)
800006a4: fe442703 lw a4,-28(s0)
800006a8: 00f77663 bgeu a4,a5,800006b4 <mat_add_kernel+0x54>
800006ac: 00100793 li a5,1
800006b0: 0080006f j 800006b8 <mat_add_kernel+0x58>
800006b4: 00000793 li a5,0
800006b8: fef401a3 sb a5,-29(s0)
800006bc: fe344783 lbu a5,-29(s0)
800006c0: 0017f793 andi a5,a5,1
800006c4: fef401a3 sb a5,-29(s0)
800006c8: fe344783 lbu a5,-29(s0)
800006cc: 00078513 mv a0,a5
800006d0: 9a9ff0ef jal ra,80000078 <vx_split>
800006d4: fe344783 lbu a5,-29(s0)
800006d8: 06078663 beqz a5,80000744 <mat_add_kernel+0xe4>
800006dc: fec42783 lw a5,-20(s0)
800006e0: 00c7a703 lw a4,12(a5)
800006e4: fe842783 lw a5,-24(s0)
800006e8: 02f707b3 mul a5,a4,a5
800006ec: fe442703 lw a4,-28(s0)
800006f0: 00f707b3 add a5,a4,a5
800006f4: fcf42e23 sw a5,-36(s0)
800006f8: fec42783 lw a5,-20(s0)
800006fc: 0007a703 lw a4,0(a5)
80000700: fdc42783 lw a5,-36(s0)
80000704: 00279793 slli a5,a5,0x2
80000708: 00f707b3 add a5,a4,a5
8000070c: 0007a683 lw a3,0(a5)
80000710: fec42783 lw a5,-20(s0)
80000714: 0047a703 lw a4,4(a5)
80000718: fdc42783 lw a5,-36(s0)
8000071c: 00279793 slli a5,a5,0x2
80000720: 00f707b3 add a5,a4,a5
80000724: 0007a703 lw a4,0(a5)
80000728: fec42783 lw a5,-20(s0)
8000072c: 0087a603 lw a2,8(a5)
80000730: fdc42783 lw a5,-36(s0)
80000734: 00279793 slli a5,a5,0x2
80000738: 00f607b3 add a5,a2,a5
8000073c: 00e68733 add a4,a3,a4
80000740: 00e7a023 sw a4,0(a5)
80000744: 93dff0ef jal ra,80000080 <vx_join>
80000748: 00000013 nop
8000074c: 03c12083 lw ra,60(sp)
80000750: 03812403 lw s0,56(sp)
80000754: 04010113 addi sp,sp,64
80000758: 00008067 ret
8000075c <main>:
8000075c: fc010113 addi sp,sp,-64
80000760: 02112e23 sw ra,60(sp)
80000764: 02812c23 sw s0,56(sp)
80000768: 04010413 addi s0,sp,64
8000076c: 00100513 li a0,1
80000770: 8f9ff0ef jal ra,80000068 <vx_tmc>
80000774: 810007b7 lui a5,0x81000
80000778: 0f478513 addi a0,a5,244 # 810000f4 <z+0xfffffe80>
8000077c: 95dff0ef jal ra,800000d8 <vx_print_str>
80000780: 810007b7 lui a5,0x81000
80000784: 1c878793 addi a5,a5,456 # 810001c8 <z+0xffffff54>
80000788: fcf42423 sw a5,-56(s0)
8000078c: 810007b7 lui a5,0x81000
80000790: 20878793 addi a5,a5,520 # 81000208 <z+0xffffff94>
80000794: fcf42623 sw a5,-52(s0)
80000798: 810007b7 lui a5,0x81000
8000079c: 27478793 addi a5,a5,628 # 81000274 <z+0x0>
800007a0: fcf42823 sw a5,-48(s0)
800007a4: 00400793 li a5,4
800007a8: fcf42a23 sw a5,-44(s0)
800007ac: 00400793 li a5,4
800007b0: fcf42c23 sw a5,-40(s0)
800007b4: 00400793 li a5,4
800007b8: fef42223 sw a5,-28(s0)
800007bc: 00400793 li a5,4
800007c0: fef42023 sw a5,-32(s0)
800007c4: fe442703 lw a4,-28(s0)
800007c8: fe042583 lw a1,-32(s0)
800007cc: fc840793 addi a5,s0,-56
800007d0: 00078693 mv a3,a5
800007d4: 800007b7 lui a5,0x80000
800007d8: 66078613 addi a2,a5,1632 # 80000660 <z+0xff0003ec>
800007dc: 00070513 mv a0,a4
800007e0: a35ff0ef jal ra,80000214 <vx_spawnWarps>
800007e4: fe042623 sw zero,-20(s0)
800007e8: 0800006f j 80000868 <main+0x10c>
800007ec: fe042423 sw zero,-24(s0)
800007f0: 0540006f j 80000844 <main+0xe8>
800007f4: fd442703 lw a4,-44(s0)
800007f8: fec42783 lw a5,-20(s0)
800007fc: 02f70733 mul a4,a4,a5
80000800: fe842783 lw a5,-24(s0)
80000804: 00f707b3 add a5,a4,a5
80000808: fcf42e23 sw a5,-36(s0)
8000080c: 810007b7 lui a5,0x81000
80000810: fdc42703 lw a4,-36(s0)
80000814: 00271713 slli a4,a4,0x2
80000818: 27478793 addi a5,a5,628 # 81000274 <z+0x0>
8000081c: 00f707b3 add a5,a4,a5
80000820: 0007a783 lw a5,0(a5)
80000824: 00078513 mv a0,a5
80000828: 8edff0ef jal ra,80000114 <vx_print_hex>
8000082c: 810007b7 lui a5,0x81000
80000830: 10078513 addi a0,a5,256 # 81000100 <z+0xfffffe8c>
80000834: 8a5ff0ef jal ra,800000d8 <vx_print_str>
80000838: fe842783 lw a5,-24(s0)
8000083c: 00178793 addi a5,a5,1
80000840: fef42423 sw a5,-24(s0)
80000844: fd442703 lw a4,-44(s0)
80000848: fe842783 lw a5,-24(s0)
8000084c: fae7e4e3 bltu a5,a4,800007f4 <main+0x98>
80000850: 810007b7 lui a5,0x81000
80000854: 10478513 addi a0,a5,260 # 81000104 <z+0xfffffe90>
80000858: 881ff0ef jal ra,800000d8 <vx_print_str>
8000085c: fec42783 lw a5,-20(s0)
80000860: 00178793 addi a5,a5,1
80000864: fef42623 sw a5,-20(s0)
80000868: fd842703 lw a4,-40(s0)
8000086c: fec42783 lw a5,-20(s0)
80000870: f6e7eee3 bltu a5,a4,800007ec <main+0x90>
80000874: 00000793 li a5,0
80000878: 00078513 mv a0,a5
8000087c: 03c12083 lw ra,60(sp)
80000880: 03812403 lw s0,56(sp)
80000884: 04010113 addi sp,sp,64
80000888: 00008067 ret
Disassembly of section .rodata:
81000000 <.rodata>:
81000000: 0030 addi a2,sp,8
81000002: 0000 unimp
81000004: 0031 c.nop 12
81000006: 0000 unimp
81000008: 0032 c.slli zero,0xc
8100000a: 0000 unimp
8100000c: 00000033 add zero,zero,zero
81000010: 0034 addi a3,sp,8
81000012: 0000 unimp
81000014: 0035 c.nop 13
81000016: 0000 unimp
81000018: 0036 c.slli zero,0xd
8100001a: 0000 unimp
8100001c: 00000037 lui zero,0x0
81000020: 0038 addi a4,sp,8
81000022: 0000 unimp
81000024: 0039 c.nop 14
81000026: 0000 unimp
81000028: 0061 c.nop 24
8100002a: 0000 unimp
8100002c: 0062 c.slli zero,0x18
8100002e: 0000 unimp
81000030: 00000063 beqz zero,81000030 <main+0xfff8d4>
81000034: 0064 addi s1,sp,12
81000036: 0000 unimp
81000038: 0065 c.nop 25
8100003a: 0000 unimp
8100003c: 0066 c.slli zero,0x19
8100003e: 0000 unimp
81000040: 000a c.slli zero,0x2
81000042: 0000 unimp
81000044: 0030 addi a2,sp,8
81000046: 0000 unimp
81000048: 0031 c.nop 12
8100004a: 0000 unimp
8100004c: 0032 c.slli zero,0xc
8100004e: 0000 unimp
81000050: 00000033 add zero,zero,zero
81000054: 0034 addi a3,sp,8
81000056: 0000 unimp
81000058: 0035 c.nop 13
8100005a: 0000 unimp
8100005c: 0036 c.slli zero,0xd
8100005e: 0000 unimp
81000060: 00000037 lui zero,0x0
81000064: 0038 addi a4,sp,8
81000066: 0000 unimp
81000068: 0039 c.nop 14
8100006a: 0000 unimp
8100006c: 0061 c.nop 24
8100006e: 0000 unimp
81000070: 0062 c.slli zero,0x18
81000072: 0000 unimp
81000074: 00000063 beqz zero,81000074 <main+0xfff918>
81000078: 0064 addi s1,sp,12
8100007a: 0000 unimp
8100007c: 0065 c.nop 25
8100007e: 0000 unimp
81000080: 0066 c.slli zero,0x19
81000082: 0000 unimp
81000084: 6574 flw fa3,76(a0)
81000086: 745f7473 csrrci s0,0x745,30
8100008a: 636d lui t1,0x1b
8100008c: 000a c.slli zero,0x2
8100008e: 0000 unimp
81000090: 000a c.slli zero,0x2
81000092: 0000 unimp
81000094: 6574 flw fa3,76(a0)
81000096: 645f7473 csrrci s0,0x645,30
8100009a: 7669 lui a2,0xffffa
8100009c: 7265 lui tp,0xffff9
8100009e: 636e6567 0x636e6567
810000a2: 0a65 addi s4,s4,25
810000a4: 0000 unimp
810000a6: 0000 unimp
810000a8: 6574 flw fa3,76(a0)
810000aa: 735f7473 csrrci s0,0x735,30
810000ae: 6170 flw fa2,68(a0)
810000b0: 000a6e77 0xa6e77
810000b4: 0030 addi a2,sp,8
810000b6: 0000 unimp
810000b8: 0031 c.nop 12
810000ba: 0000 unimp
810000bc: 0032 c.slli zero,0xc
810000be: 0000 unimp
810000c0: 00000033 add zero,zero,zero
810000c4: 0034 addi a3,sp,8
810000c6: 0000 unimp
810000c8: 0035 c.nop 13
810000ca: 0000 unimp
810000cc: 0036 c.slli zero,0xd
810000ce: 0000 unimp
810000d0: 00000037 lui zero,0x0
810000d4: 0038 addi a4,sp,8
810000d6: 0000 unimp
810000d8: 0039 c.nop 14
810000da: 0000 unimp
810000dc: 0061 c.nop 24
810000de: 0000 unimp
810000e0: 0062 c.slli zero,0x18
810000e2: 0000 unimp
810000e4: 00000063 beqz zero,810000e4 <main+0xfff988>
810000e8: 0064 addi s1,sp,12
810000ea: 0000 unimp
810000ec: 0065 c.nop 25
810000ee: 0000 unimp
810000f0: 0066 c.slli zero,0x19
810000f2: 0000 unimp
810000f4: 6544 flw fs1,12(a0)
810000f6: 2076 fld ft0,344(sp)
810000f8: 614d addi sp,sp,176
810000fa: 6e69 lui t3,0x1a
810000fc: 0000 unimp
810000fe: 0000 unimp
81000100: 0020 addi s0,sp,8
81000102: 0000 unimp
81000104: 000a c.slli zero,0x2
Disassembly of section .data:
81000108 <hextoa>:
81000108: 0000 unimp
8100010a: 8100 0x8100
8100010c: 0004 0x4
8100010e: 8100 0x8100
81000110: 0008 0x8
81000112: 8100 0x8100
81000114: 000c 0xc
81000116: 8100 0x8100
81000118: 0010 0x10
8100011a: 8100 0x8100
8100011c: 0014 0x14
8100011e: 8100 0x8100
81000120: 0018 0x18
81000122: 8100 0x8100
81000124: 001c 0x1c
81000126: 8100 0x8100
81000128: 0020 addi s0,sp,8
8100012a: 8100 0x8100
8100012c: 0024 addi s1,sp,8
8100012e: 8100 0x8100
81000130: 0028 addi a0,sp,8
81000132: 8100 0x8100
81000134: 002c addi a1,sp,8
81000136: 8100 0x8100
81000138: 0030 addi a2,sp,8
8100013a: 8100 0x8100
8100013c: 0034 addi a3,sp,8
8100013e: 8100 0x8100
81000140: 0038 addi a4,sp,8
81000142: 8100 0x8100
81000144: 003c addi a5,sp,8
81000146: 8100 0x8100
81000148 <hextoa>:
81000148: 0044 addi s1,sp,4
8100014a: 8100 0x8100
8100014c: 0048 addi a0,sp,4
8100014e: 8100 0x8100
81000150: 004c addi a1,sp,4
81000152: 8100 0x8100
81000154: 0050 addi a2,sp,4
81000156: 8100 0x8100
81000158: 0054 addi a3,sp,4
8100015a: 8100 0x8100
8100015c: 0058 addi a4,sp,4
8100015e: 8100 0x8100
81000160: 005c addi a5,sp,4
81000162: 8100 0x8100
81000164: 0060 addi s0,sp,12
81000166: 8100 0x8100
81000168: 0064 addi s1,sp,12
8100016a: 8100 0x8100
8100016c: 0068 addi a0,sp,12
8100016e: 8100 0x8100
81000170: 006c addi a1,sp,12
81000172: 8100 0x8100
81000174: 0070 addi a2,sp,12
81000176: 8100 0x8100
81000178: 0074 addi a3,sp,12
8100017a: 8100 0x8100
8100017c: 0078 addi a4,sp,12
8100017e: 8100 0x8100
81000180: 007c addi a5,sp,12
81000182: 8100 0x8100
81000184: 0080 addi s0,sp,64
81000186: 8100 0x8100
81000188 <hextoa>:
81000188: 00b4 addi a3,sp,72
8100018a: 8100 0x8100
8100018c: 00b8 addi a4,sp,72
8100018e: 8100 0x8100
81000190: 00bc addi a5,sp,72
81000192: 8100 0x8100
81000194: 00c0 addi s0,sp,68
81000196: 8100 0x8100
81000198: 00c4 addi s1,sp,68
8100019a: 8100 0x8100
8100019c: 00c8 addi a0,sp,68
8100019e: 8100 0x8100
810001a0: 00cc addi a1,sp,68
810001a2: 8100 0x8100
810001a4: 00d0 addi a2,sp,68
810001a6: 8100 0x8100
810001a8: 00d4 addi a3,sp,68
810001aa: 8100 0x8100
810001ac: 00d8 addi a4,sp,68
810001ae: 8100 0x8100
810001b0: 00dc addi a5,sp,68
810001b2: 8100 0x8100
810001b4: 00e0 addi s0,sp,76
810001b6: 8100 0x8100
810001b8: 00e4 addi s1,sp,76
810001ba: 8100 0x8100
810001bc: 00e8 addi a0,sp,76
810001be: 8100 0x8100
810001c0: 00ec addi a1,sp,76
810001c2: 8100 0x8100
810001c4: 00f0 addi a2,sp,76
810001c6: 8100 0x8100
810001c8 <x>:
810001c8: 0005 c.nop 1
810001ca: 0000 unimp
810001cc: 0005 c.nop 1
810001ce: 0000 unimp
810001d0: 0005 c.nop 1
810001d2: 0000 unimp
810001d4: 0005 c.nop 1
810001d6: 0000 unimp
810001d8: 0006 c.slli zero,0x1
810001da: 0000 unimp
810001dc: 0006 c.slli zero,0x1
810001de: 0000 unimp
810001e0: 0006 c.slli zero,0x1
810001e2: 0000 unimp
810001e4: 0006 c.slli zero,0x1
810001e6: 0000 unimp
810001e8: 00000007 0x7
810001ec: 00000007 0x7
810001f0: 00000007 0x7
810001f4: 00000007 0x7
810001f8: 0008 0x8
810001fa: 0000 unimp
810001fc: 0008 0x8
810001fe: 0000 unimp
81000200: 0008 0x8
81000202: 0000 unimp
81000204: 0008 0x8
...
81000208 <y>:
81000208: 0001 nop
8100020a: 0000 unimp
8100020c: 0001 nop
8100020e: 0000 unimp
81000210: 0001 nop
81000212: 0000 unimp
81000214: 0001 nop
81000216: 0000 unimp
81000218: 0001 nop
8100021a: 0000 unimp
8100021c: 0001 nop
8100021e: 0000 unimp
81000220: 0001 nop
81000222: 0000 unimp
81000224: 0001 nop
81000226: 0000 unimp
81000228: 0001 nop
8100022a: 0000 unimp
8100022c: 0001 nop
8100022e: 0000 unimp
81000230: 0001 nop
81000232: 0000 unimp
81000234: 0001 nop
81000236: 0000 unimp
81000238: 0001 nop
8100023a: 0000 unimp
8100023c: 0001 nop
8100023e: 0000 unimp
81000240: 0001 nop
81000242: 0000 unimp
81000244: 0001 nop
...
Disassembly of section .bss:
81000248 <global_argument_struct>:
81000248: 0000 unimp
...
8100024c <global_function_pointer>:
8100024c: 0000 unimp
...
81000250 <global_num_threads>:
81000250: 0000 unimp
...
81000254 <arr>:
...
81000264 <wsapwn_arr>:
...
81000274 <z>:
...
Disassembly of section .comment:
82000000 <.comment>:
82000000: 3a434347 fmsub.d ft6,ft6,ft4,ft7,rmm
82000004: 2820 fld fs0,80(s0)
82000006: 29554e47 fmsub.s ft8,fa0,fs5,ft5,rmm
8200000a: 3820 fld fs0,112(s0)
8200000c: 322e fld ft4,232(sp)
8200000e: 302e fld ft0,232(sp)
...

Binary file not shown.

View file

@ -0,0 +1,178 @@
:0200000480007A
:100000009705000093850502130540006B10B500AD
:10001000EF000001EF008074130500006B00050085
:10002000130540006B000500F32610029396A6010D
:10003000732600029315A6001316260037F1FF6FF2
:100040003301B1403301D1403301C100F326100226
:1000500063860600130500006B0005006780000042
:100060006B10B500678000006B0005006780000022
:100070006B40B500678000006B20050067800000C2
:100080006B3000006780000073251002678000005D
:100090007325000267800000130540006B00050017
:1000A000F32610029396F600732600029315A6001D
:1000B0001316260037F1FF6F3301B1403301D140F1
:1000C0003301C100F3261002638606001305000009
:1000D0006B00050067800000130141FF2320110021
:1000E0002322B1008345050063880500EF00C001AD
:1000F000130515006FF01FFF8320010083254100C9
:100100001301C10067800000B702010023A0B20004
:1001100067800000130101FE232E1100232C8100B3
:10012000130401022326A4FEB70700810327C4FE9F
:100130001317270093878710B307F70083A70700DB
:1001400013850700EFF05FF9130000008320C10161
:10015000032481011301010267800000130101FEE5
:10016000232E1100232C8100130401022326A4FE58
:100170002324B4FE0325C4FEEFF01FF6032584FEFE
:10018000EFF05FF9B707008113850704EFF0DFF4A4
:10019000130000008320C101032481011301010227
:1001A00067800000130101FE232E1100232C810023
:1001B00013040102B707008183A7072513850700F1
:1001C000EFF09FEAB707008103A7C724B7070081B4
:1001D00083A7872413850700E7000700EFF0DFEA15
:1001E0002326A4FE8327C4FE6388070013050000AE
:1001F000EFF09FE76F00C00013051000EFF0DFE69F
:10020000130000008320C1010324810113010102B6
:1002100067800000130101FE232E1100232C8100B2
:10022000130401022326A4FE2324B4FE2322C4FEC9
:100230002320D4FEB7070081032744FE23A6E7242A
:10024000B7070081032704FE23A4E724B707008132
:10025000032784FE23A8E724B70700809387471A63
:10026000938507000325C4FEEFF09FDFEFF09FF3B7
:10027000130000008320C101032481011301010246
:1002800067800000130101FE232E1100232C810042
:1002900013040102B707008113854708EFF0DFE37D
:1002A00013054000EFF05FDCEFF09FDE2326A4FE95
:1002B0000327C4FEB70700818326C4FE9396260059
:1002C00093874725B387F60023A0E70013051000A6
:1002D000EFF09FD9B707008183A747251385070053
:1002E000EFF05FE3B707008113850709EFF0DFDE6A
:1002F000B70700819387472583A747001385070029
:10030000EFF05FE1B707008113850709EFF0DFDC4D
:10031000B70700819387472583A7870013850700C8
:10032000EFF05FDFB707008113850709EFF0DFDA31
:10033000B70700819387472583A7C7001385070068
:10034000EFF05FDDB707008113850709EFF0DFD815
:10035000130000008320C101032481011301010265
:1003600067800000130101FE232E1100232C810061
:1003700013040102EFF0DFD12326A4FE8327C4FE7D
:1003800093B72700A305F4FE8347B4FE1385070047
:10039000EFF09FCE8347B4FE638407068327C4FE35
:1003A00093B717002305F4FE8347A4FE13850700C7
:1003B000EFF09FCC8347A4FE63820702B70700815A
:1003C0000327C4FE1317270093874725B307F700B9
:1003D0001307A00023A0E7006F000002B707008109
:1003E0000327C4FE1317270093874725B307F70099
:1003F0001307B00023A0E700EFF09FC86F0040068E
:100400008327C4FE93B73700A304F4FE834794FE0A
:1004100013850700EFF05FC6834794FE63820702EF
:10042000B70700810327C4FE1317270093874725CA
:10043000B307F7001307C00023A0E7006F00000216
:10044000B70700810327C4FE1317270093874725AA
:10045000B307F7001307D00023A0E700EFF05FC257
:10046000EFF01FC2B707008183A747251385070058
:10047000EFF05FCAB707008113850709EFF0DFC50A
:10048000B70700819387472583A747001385070097
:10049000EFF05FC8B707008113850709EFF0DFC3EE
:1004A000B70700819387472583A787001385070037
:1004B000EFF05FC6B707008113850709EFF0DFC1D2
:1004C000B70700819387472583A7C70013850700D7
:1004D000EFF05FC4B707008113850709EFF0DFBFB6
:1004E000130000008320C1010324810113010102D4
:1004F00067800000130101FE232E1100232C8100D0
:1005000013040102EFF05FB82326A4FEB7070081B1
:100510000327C4FE1317270093874726B307F70066
:100520000327C4FE23A0E7008327C4FE63860700D9
:1005300013050000EFF05FB3130000008320C1013A
:10054000032481011301010267800000130101FEF1
:10055000232E1100232C810013040102B707008011
:100560009387474F2326F4FE8325C4FE13054000DE
:10057000EFF01FAFEFF01FF8B707008183A7472602
:1005800013850700EFF01FB9B7070081138507092E
:10059000EFF09FB4B70700819387472683A74700F2
:1005A00013850700EFF01FB7B70700811385070910
:1005B000EFF09FB2B70700819387472683A7870094
:1005C00013850700EFF01FB5B707008113850709F2
:1005D000EFF09FB0B70700819387472683A7C70036
:1005E00013850700EFF01FB3B707008113850709D4
:1005F000EFF09FAE130000008320C10103248101AE
:100600001301010267800000130101FF232611007E
:100610002324810013040101EFF0DFC6B707008136
:1006200013854709EFF05FAB13054000EFF0DFA340
:10063000EFF05FD313051000EFF01FA3B7070081A1
:100640001385870AEFF05FA9EFF05FF01300000059
:100650008320C10003248100130101016780000091
:10066000130101FC232E1102232C81021304010427
:100670002326A4FC8327C4FC2326F4FEEFF0DFA08E
:100680002324A4FEEFF0DFA02322A4FE8327C4FED0
:1006900083A70701032784FE637EF7008327C4FE38
:1006A00083A7C700032744FE6376F7009307100073
:1006B0006F00800093070000A301F4FE834734FE1F
:1006C00093F71700A301F4FE834734FE1385070058
:1006D000EFF09F9A834734FE638607068327C4FEA4
:1006E00003A7C700832784FEB307F702032744FE4E
:1006F000B307F700232EF4FC8327C4FE03A70700EB
:100700008327C4FD93972700B307F70083A607004C
:100710008327C4FE03A747008327C4FD93972700C0
:10072000B307F70003A707008327C4FE03A68700CB
:100730008327C4FD93972700B307F6003387E600AD
:1007400023A0E700EFF0DF93130000008320C10334
:10075000032481031301010467800000130101FCDD
:10076000232E1102232C810213040104130510000F
:10077000EFF09F8FB70700811385470FEFF0DF95EC
:10078000B70700819387871C2324F4FCB7070081F7
:10079000938787202326F4FCB70700819387472798
:1007A0002328F4FC93074000232AF4FC930740001D
:1007B000232CF4FC930740002322F4FE930740000F
:1007C0002320F4FE032744FE832504FE930784FCC4
:1007D00093860700B7070080138607661305070096
:1007E000EFF05FA3232604FE6F000008232404FE1D
:1007F0006F004005032744FD8327C4FE3307F7023B
:10080000832784FEB307F700232EF4FCB70700818B
:100810000327C4FD1317270093874727B307F70063
:1008200083A7070013850700EFF0DF8EB70700816D
:1008300013850710EFF05F8A832784FE93871700E4
:100840002324F4FE032744FD832784FEE3E4E7FA30
:10085000B707008113854710EFF01F888327C4FE78
:10086000938717002326F4FE032784FD8327C4FE05
:10087000E3EEE7F693070000138507008320C1032A
:0C088000032481031301010467800000C1
:02000004810079
:10000000300000003100000032000000330000002A
:10001000340000003500000036000000370000000A
:10002000380000003900000061000000620000009C
:10003000630000006400000065000000660000002E
:100040000A00000030000000310000003200000013
:1000500033000000340000003500000036000000CE
:100060003700000038000000390000006100000087
:1000700062000000630000006400000065000000F2
:1000800066000000746573745F746D630A0000009D
:100090000A000000746573745F6469766572676551
:1000A0006E63650A00000000746573745F737061AD
:1000B000776E0A00300000003100000032000000BE
:1000C000330000003400000035000000360000005E
:1000D0003700000038000000390000006100000017
:1000E0006200000063000000640000006500000082
:1000F00066000000446576204D61696E00000000D6
:06010000200000000A00CF
:100108000000008104000081080000810C000081CB
:100118001000008114000081180000811C0000817B
:100128002000008124000081280000812C0000812B
:100138003000008134000081380000813C000081DB
:1001480044000081480000814C000081500000817B
:1001580054000081580000815C000081600000812B
:1001680064000081680000816C00008170000081DB
:1001780074000081780000817C000081800000818B
:10018800B4000081B8000081BC000081C00000817B
:10019800C4000081C8000081CC000081D00000812B
:1001A800D4000081D8000081DC000081E0000081DB
:1001B800E4000081E8000081EC000081F00000818B
:1001C8000500000005000000050000000500000013
:1001D80006000000060000000600000006000000FF
:1001E80007000000070000000700000007000000EB
:1001F80008000000080000000800000008000000D7
:1002080001000000010000000100000001000000E2
:1002180001000000010000000100000001000000D2
:1002280001000000010000000100000001000000C2
:1002380001000000010000000100000001000000B2
:040000058000000077
:00000001FF

View file

@ -0,0 +1,26 @@
COMP = /opt/riscv/bin/riscv32-unknown-elf-gcc
CC_FLAGS = -march=rv32im -mabi=ilp32 -O0 -Wl,-Bstatic,-T,linker.ld -ffreestanding -nostdlib
DMP = /opt/riscv/bin/riscv32-unknown-elf-objdump
CPY = /opt/riscv/bin/riscv32-unknown-elf-objcopy
VX_STR = ../../startup/vx_start.s
VX_INT = ../../intrinsics/vx_intrinsics.s
VX_IO = ../../io/vx_io.s ../../io/vx_io.c
VX_API = ../../vx_api/vx_api.c
VX_TEST = ../../tests/tests.c
VX_MAIN = ./vx_simple_main.c
all: HEX DUMP ELF
DUMP: ELF
$(DMP) -D vx_simple_main.elf > vx_simple_main.dump
HEX: ELF
$(CPY) -O ihex vx_simple_main.elf vx_simple_main.hex
ELF:
$(COMP) $(CC_FLAGS) $(VX_STR) $(VX_INT) $(VX_IO) $(VX_API) $(VX_TEST) $(VX_MAIN) -o vx_simple_main.elf

View file

@ -0,0 +1,48 @@
/* ---- Original Script: /opt/riscv32i/riscv32-unknown-elf/lib/ldscripts/elf32lriscv.x ---- */
/* Default linker script, for normal executables */
/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
Copying and distribution of this script, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. */
OUTPUT_FORMAT("elf32-littleriscv", "elf32-littleriscv",
"elf32-littleriscv")
OUTPUT_ARCH(riscv)
ENTRY(_start)
SECTIONS
{
. = 0x80000000;
.text :
{
*(.text)
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
*(.text.hot .text.hot.*)
*(.stub .text.* .gnu.linkonce.t.*)
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
}
.init :
{
KEEP (*(SORT_NONE(.init)))
}
.plt : { *(.plt) }
.iplt : { *(.iplt) }
.fini :
{
KEEP (*(SORT_NONE(.fini)))
}
PROVIDE (__etext = .);
PROVIDE (_etext = .);
PROVIDE (etext = .);
PROVIDE (_edata = .);
PROVIDE (_end = .);
PROVIDE (__global_pointer$ = .);
. = 0x81000000;
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
.rodata1 : { *(.rodata1) }
. = 0x82000000;
.comment : { *(.comment) }
}

View file

@ -0,0 +1,29 @@
#include "../../intrinsics/vx_intrinsics.h"
#include "../../io/vx_io.h"
#include "../../tests/tests.h"
#include "../../vx_api/vx_api.h"
int main()
{
// Main is called with all threads active of warp 0
vx_tmc(1);
vx_print_str("Simple Main1\n");
// TMC test
test_tmc();
// Control Divergence Test
vx_print_str("test_divergence\n");
vx_tmc(4);
test_divergence();
vx_tmc(1);
// Test wspawn
vx_print_str("test_spawn\n");
test_wsapwn();
return 0;
}

View file

@ -0,0 +1,759 @@
vx_simple_main.elf: file format elf32-littleriscv
Disassembly of section .text:
80000000 <_start>:
80000000: 00000597 auipc a1,0x0
80000004: 02058593 addi a1,a1,32 # 80000020 <vx_set_sp>
80000008: 00400513 li a0,4
8000000c: 00b5106b 0xb5106b
80000010: 010000ef jal ra,80000020 <vx_set_sp>
80000014: 64c000ef jal ra,80000660 <main>
80000018: 00000513 li a0,0
8000001c: 0005006b 0x5006b
80000020 <vx_set_sp>:
80000020: 00400513 li a0,4
80000024: 0005006b 0x5006b
80000028: 021026f3 csrr a3,0x21
8000002c: 01a69693 slli a3,a3,0x1a
80000030: 02002673 csrr a2,0x20
80000034: 00a61593 slli a1,a2,0xa
80000038: 00261613 slli a2,a2,0x2
8000003c: 6ffff137 lui sp,0x6ffff
80000040: 40b10133 sub sp,sp,a1
80000044: 40d10133 sub sp,sp,a3
80000048: 00c10133 add sp,sp,a2
8000004c: 021026f3 csrr a3,0x21
80000050: 00068663 beqz a3,8000005c <RETURN>
80000054: 00000513 li a0,0
80000058: 0005006b 0x5006b
8000005c <RETURN>:
8000005c: 00008067 ret
80000060 <vx_wspawn>:
80000060: 00b5106b 0xb5106b
80000064: 00008067 ret
80000068 <vx_tmc>:
80000068: 0005006b 0x5006b
8000006c: 00008067 ret
80000070 <vx_barrier>:
80000070: 00b5406b 0xb5406b
80000074: 00008067 ret
80000078 <vx_split>:
80000078: 0005206b 0x5206b
8000007c: 00008067 ret
80000080 <vx_join>:
80000080: 0000306b 0x306b
80000084: 00008067 ret
80000088 <vx_warpID>:
80000088: 02102573 csrr a0,0x21
8000008c: 00008067 ret
80000090 <vx_threadID>:
80000090: 02002573 csrr a0,0x20
80000094: 00008067 ret
80000098 <vx_resetStack>:
80000098: 00400513 li a0,4
8000009c: 0005006b 0x5006b
800000a0: 021026f3 csrr a3,0x21
800000a4: 00f69693 slli a3,a3,0xf
800000a8: 02002673 csrr a2,0x20
800000ac: 00a61593 slli a1,a2,0xa
800000b0: 00261613 slli a2,a2,0x2
800000b4: 6ffff137 lui sp,0x6ffff
800000b8: 40b10133 sub sp,sp,a1
800000bc: 40d10133 sub sp,sp,a3
800000c0: 00c10133 add sp,sp,a2
800000c4: 021026f3 csrr a3,0x21
800000c8: 00068663 beqz a3,800000d4 <RETURN>
800000cc: 00000513 li a0,0
800000d0: 0005006b 0x5006b
800000d4 <RETURN>:
800000d4: 00008067 ret
800000d8 <vx_print_str>:
800000d8: ff410113 addi sp,sp,-12 # 6fffeff4 <_start-0x1000100c>
800000dc: 00112023 sw ra,0(sp)
800000e0: 00b12223 sw a1,4(sp)
800000e4 <bl>:
800000e4: 00054583 lbu a1,0(a0)
800000e8: 00058863 beqz a1,800000f8 <be>
800000ec: 01c000ef jal ra,80000108 <vx_printc>
800000f0: 00150513 addi a0,a0,1
800000f4: ff1ff06f j 800000e4 <bl>
800000f8 <be>:
800000f8: 00012083 lw ra,0(sp)
800000fc: 00412583 lw a1,4(sp)
80000100: 00c10113 addi sp,sp,12
80000104: 00008067 ret
80000108 <vx_printc>:
80000108: 000102b7 lui t0,0x10
8000010c: 00b2a023 sw a1,0(t0) # 10000 <_start-0x7fff0000>
80000110: 00008067 ret
80000114 <vx_print_hex>:
80000114: fe010113 addi sp,sp,-32
80000118: 00112e23 sw ra,28(sp)
8000011c: 00812c23 sw s0,24(sp)
80000120: 02010413 addi s0,sp,32
80000124: fea42623 sw a0,-20(s0)
80000128: 810007b7 lui a5,0x81000
8000012c: fec42703 lw a4,-20(s0)
80000130: 00271713 slli a4,a4,0x2
80000134: 12478793 addi a5,a5,292 # 81000124 <wsapwn_arr+0xffffff24>
80000138: 00f707b3 add a5,a4,a5
8000013c: 0007a783 lw a5,0(a5)
80000140: 00078513 mv a0,a5
80000144: f95ff0ef jal ra,800000d8 <vx_print_str>
80000148: 00000013 nop
8000014c: 01c12083 lw ra,28(sp)
80000150: 01812403 lw s0,24(sp)
80000154: 02010113 addi sp,sp,32
80000158: 00008067 ret
8000015c <vx_printf>:
8000015c: fe010113 addi sp,sp,-32
80000160: 00112e23 sw ra,28(sp)
80000164: 00812c23 sw s0,24(sp)
80000168: 02010413 addi s0,sp,32
8000016c: fea42623 sw a0,-20(s0)
80000170: feb42423 sw a1,-24(s0)
80000174: fec42503 lw a0,-20(s0)
80000178: f61ff0ef jal ra,800000d8 <vx_print_str>
8000017c: fe842503 lw a0,-24(s0)
80000180: f95ff0ef jal ra,80000114 <vx_print_hex>
80000184: 810007b7 lui a5,0x81000
80000188: 04078513 addi a0,a5,64 # 81000040 <wsapwn_arr+0xfffffe40>
8000018c: f4dff0ef jal ra,800000d8 <vx_print_str>
80000190: 00000013 nop
80000194: 01c12083 lw ra,28(sp)
80000198: 01812403 lw s0,24(sp)
8000019c: 02010113 addi sp,sp,32
800001a0: 00008067 ret
800001a4 <setup_call>:
800001a4: fe010113 addi sp,sp,-32
800001a8: 00112e23 sw ra,28(sp)
800001ac: 00812c23 sw s0,24(sp)
800001b0: 02010413 addi s0,sp,32
800001b4: 810007b7 lui a5,0x81000
800001b8: 1ec7a783 lw a5,492(a5) # 810001ec <wsapwn_arr+0xffffffec>
800001bc: 00078513 mv a0,a5
800001c0: ea9ff0ef jal ra,80000068 <vx_tmc>
800001c4: 810007b7 lui a5,0x81000
800001c8: 1e87a703 lw a4,488(a5) # 810001e8 <wsapwn_arr+0xffffffe8>
800001cc: 810007b7 lui a5,0x81000
800001d0: 1e47a783 lw a5,484(a5) # 810001e4 <wsapwn_arr+0xffffffe4>
800001d4: 00078513 mv a0,a5
800001d8: 000700e7 jalr a4
800001dc: eadff0ef jal ra,80000088 <vx_warpID>
800001e0: fea42623 sw a0,-20(s0)
800001e4: fec42783 lw a5,-20(s0)
800001e8: 00078863 beqz a5,800001f8 <setup_call+0x54>
800001ec: 00000513 li a0,0
800001f0: e79ff0ef jal ra,80000068 <vx_tmc>
800001f4: 00c0006f j 80000200 <setup_call+0x5c>
800001f8: 00100513 li a0,1
800001fc: e6dff0ef jal ra,80000068 <vx_tmc>
80000200: 00000013 nop
80000204: 01c12083 lw ra,28(sp)
80000208: 01812403 lw s0,24(sp)
8000020c: 02010113 addi sp,sp,32
80000210: 00008067 ret
80000214 <vx_spawnWarps>:
80000214: fe010113 addi sp,sp,-32
80000218: 00112e23 sw ra,28(sp)
8000021c: 00812c23 sw s0,24(sp)
80000220: 02010413 addi s0,sp,32
80000224: fea42623 sw a0,-20(s0)
80000228: feb42423 sw a1,-24(s0)
8000022c: fec42223 sw a2,-28(s0)
80000230: fed42023 sw a3,-32(s0)
80000234: 810007b7 lui a5,0x81000
80000238: fe442703 lw a4,-28(s0)
8000023c: 1ee7a423 sw a4,488(a5) # 810001e8 <wsapwn_arr+0xffffffe8>
80000240: 810007b7 lui a5,0x81000
80000244: fe042703 lw a4,-32(s0)
80000248: 1ee7a223 sw a4,484(a5) # 810001e4 <wsapwn_arr+0xffffffe4>
8000024c: 810007b7 lui a5,0x81000
80000250: fe842703 lw a4,-24(s0)
80000254: 1ee7a623 sw a4,492(a5) # 810001ec <wsapwn_arr+0xffffffec>
80000258: 800007b7 lui a5,0x80000
8000025c: 1a478793 addi a5,a5,420 # 800001a4 <wsapwn_arr+0xfeffffa4>
80000260: 00078593 mv a1,a5
80000264: fec42503 lw a0,-20(s0)
80000268: df9ff0ef jal ra,80000060 <vx_wspawn>
8000026c: f39ff0ef jal ra,800001a4 <setup_call>
80000270: 00000013 nop
80000274: 01c12083 lw ra,28(sp)
80000278: 01812403 lw s0,24(sp)
8000027c: 02010113 addi sp,sp,32
80000280: 00008067 ret
80000284 <test_tmc>:
80000284: fe010113 addi sp,sp,-32
80000288: 00112e23 sw ra,28(sp)
8000028c: 00812c23 sw s0,24(sp)
80000290: 02010413 addi s0,sp,32
80000294: 810007b7 lui a5,0x81000
80000298: 08478513 addi a0,a5,132 # 81000084 <wsapwn_arr+0xfffffe84>
8000029c: e3dff0ef jal ra,800000d8 <vx_print_str>
800002a0: 00400513 li a0,4
800002a4: dc5ff0ef jal ra,80000068 <vx_tmc>
800002a8: de9ff0ef jal ra,80000090 <vx_threadID>
800002ac: fea42623 sw a0,-20(s0)
800002b0: fec42703 lw a4,-20(s0)
800002b4: 810007b7 lui a5,0x81000
800002b8: fec42683 lw a3,-20(s0)
800002bc: 00269693 slli a3,a3,0x2
800002c0: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
800002c4: 00f687b3 add a5,a3,a5
800002c8: 00e7a023 sw a4,0(a5)
800002cc: 00100513 li a0,1
800002d0: d99ff0ef jal ra,80000068 <vx_tmc>
800002d4: 810007b7 lui a5,0x81000
800002d8: 1f07a783 lw a5,496(a5) # 810001f0 <wsapwn_arr+0xfffffff0>
800002dc: 00078513 mv a0,a5
800002e0: e35ff0ef jal ra,80000114 <vx_print_hex>
800002e4: 810007b7 lui a5,0x81000
800002e8: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
800002ec: dedff0ef jal ra,800000d8 <vx_print_str>
800002f0: 810007b7 lui a5,0x81000
800002f4: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
800002f8: 0047a783 lw a5,4(a5)
800002fc: 00078513 mv a0,a5
80000300: e15ff0ef jal ra,80000114 <vx_print_hex>
80000304: 810007b7 lui a5,0x81000
80000308: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
8000030c: dcdff0ef jal ra,800000d8 <vx_print_str>
80000310: 810007b7 lui a5,0x81000
80000314: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
80000318: 0087a783 lw a5,8(a5)
8000031c: 00078513 mv a0,a5
80000320: df5ff0ef jal ra,80000114 <vx_print_hex>
80000324: 810007b7 lui a5,0x81000
80000328: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
8000032c: dadff0ef jal ra,800000d8 <vx_print_str>
80000330: 810007b7 lui a5,0x81000
80000334: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
80000338: 00c7a783 lw a5,12(a5)
8000033c: 00078513 mv a0,a5
80000340: dd5ff0ef jal ra,80000114 <vx_print_hex>
80000344: 810007b7 lui a5,0x81000
80000348: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
8000034c: d8dff0ef jal ra,800000d8 <vx_print_str>
80000350: 00000013 nop
80000354: 01c12083 lw ra,28(sp)
80000358: 01812403 lw s0,24(sp)
8000035c: 02010113 addi sp,sp,32
80000360: 00008067 ret
80000364 <test_divergence>:
80000364: fe010113 addi sp,sp,-32
80000368: 00112e23 sw ra,28(sp)
8000036c: 00812c23 sw s0,24(sp)
80000370: 02010413 addi s0,sp,32
80000374: d1dff0ef jal ra,80000090 <vx_threadID>
80000378: fea42623 sw a0,-20(s0)
8000037c: fec42783 lw a5,-20(s0)
80000380: 0027b793 sltiu a5,a5,2
80000384: fef405a3 sb a5,-21(s0)
80000388: feb44783 lbu a5,-21(s0)
8000038c: 00078513 mv a0,a5
80000390: ce9ff0ef jal ra,80000078 <vx_split>
80000394: feb44783 lbu a5,-21(s0)
80000398: 06078463 beqz a5,80000400 <test_divergence+0x9c>
8000039c: fec42783 lw a5,-20(s0)
800003a0: 0017b793 seqz a5,a5
800003a4: fef40523 sb a5,-22(s0)
800003a8: fea44783 lbu a5,-22(s0)
800003ac: 00078513 mv a0,a5
800003b0: cc9ff0ef jal ra,80000078 <vx_split>
800003b4: fea44783 lbu a5,-22(s0)
800003b8: 02078263 beqz a5,800003dc <test_divergence+0x78>
800003bc: 810007b7 lui a5,0x81000
800003c0: fec42703 lw a4,-20(s0)
800003c4: 00271713 slli a4,a4,0x2
800003c8: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
800003cc: 00f707b3 add a5,a4,a5
800003d0: 00a00713 li a4,10
800003d4: 00e7a023 sw a4,0(a5)
800003d8: 0200006f j 800003f8 <test_divergence+0x94>
800003dc: 810007b7 lui a5,0x81000
800003e0: fec42703 lw a4,-20(s0)
800003e4: 00271713 slli a4,a4,0x2
800003e8: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
800003ec: 00f707b3 add a5,a4,a5
800003f0: 00b00713 li a4,11
800003f4: 00e7a023 sw a4,0(a5)
800003f8: c89ff0ef jal ra,80000080 <vx_join>
800003fc: 0640006f j 80000460 <test_divergence+0xfc>
80000400: fec42783 lw a5,-20(s0)
80000404: 0037b793 sltiu a5,a5,3
80000408: fef404a3 sb a5,-23(s0)
8000040c: fe944783 lbu a5,-23(s0)
80000410: 00078513 mv a0,a5
80000414: c65ff0ef jal ra,80000078 <vx_split>
80000418: fe944783 lbu a5,-23(s0)
8000041c: 02078263 beqz a5,80000440 <test_divergence+0xdc>
80000420: 810007b7 lui a5,0x81000
80000424: fec42703 lw a4,-20(s0)
80000428: 00271713 slli a4,a4,0x2
8000042c: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
80000430: 00f707b3 add a5,a4,a5
80000434: 00c00713 li a4,12
80000438: 00e7a023 sw a4,0(a5)
8000043c: 0200006f j 8000045c <test_divergence+0xf8>
80000440: 810007b7 lui a5,0x81000
80000444: fec42703 lw a4,-20(s0)
80000448: 00271713 slli a4,a4,0x2
8000044c: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
80000450: 00f707b3 add a5,a4,a5
80000454: 00d00713 li a4,13
80000458: 00e7a023 sw a4,0(a5)
8000045c: c25ff0ef jal ra,80000080 <vx_join>
80000460: c21ff0ef jal ra,80000080 <vx_join>
80000464: 810007b7 lui a5,0x81000
80000468: 1f07a783 lw a5,496(a5) # 810001f0 <wsapwn_arr+0xfffffff0>
8000046c: 00078513 mv a0,a5
80000470: ca5ff0ef jal ra,80000114 <vx_print_hex>
80000474: 810007b7 lui a5,0x81000
80000478: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
8000047c: c5dff0ef jal ra,800000d8 <vx_print_str>
80000480: 810007b7 lui a5,0x81000
80000484: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
80000488: 0047a783 lw a5,4(a5)
8000048c: 00078513 mv a0,a5
80000490: c85ff0ef jal ra,80000114 <vx_print_hex>
80000494: 810007b7 lui a5,0x81000
80000498: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
8000049c: c3dff0ef jal ra,800000d8 <vx_print_str>
800004a0: 810007b7 lui a5,0x81000
800004a4: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
800004a8: 0087a783 lw a5,8(a5)
800004ac: 00078513 mv a0,a5
800004b0: c65ff0ef jal ra,80000114 <vx_print_hex>
800004b4: 810007b7 lui a5,0x81000
800004b8: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
800004bc: c1dff0ef jal ra,800000d8 <vx_print_str>
800004c0: 810007b7 lui a5,0x81000
800004c4: 1f078793 addi a5,a5,496 # 810001f0 <wsapwn_arr+0xfffffff0>
800004c8: 00c7a783 lw a5,12(a5)
800004cc: 00078513 mv a0,a5
800004d0: c45ff0ef jal ra,80000114 <vx_print_hex>
800004d4: 810007b7 lui a5,0x81000
800004d8: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
800004dc: bfdff0ef jal ra,800000d8 <vx_print_str>
800004e0: 00000013 nop
800004e4: 01c12083 lw ra,28(sp)
800004e8: 01812403 lw s0,24(sp)
800004ec: 02010113 addi sp,sp,32
800004f0: 00008067 ret
800004f4 <simple_kernel>:
800004f4: fe010113 addi sp,sp,-32
800004f8: 00112e23 sw ra,28(sp)
800004fc: 00812c23 sw s0,24(sp)
80000500: 02010413 addi s0,sp,32
80000504: b85ff0ef jal ra,80000088 <vx_warpID>
80000508: fea42623 sw a0,-20(s0)
8000050c: 810007b7 lui a5,0x81000
80000510: fec42703 lw a4,-20(s0)
80000514: 00271713 slli a4,a4,0x2
80000518: 20078793 addi a5,a5,512 # 81000200 <wsapwn_arr+0x0>
8000051c: 00f707b3 add a5,a4,a5
80000520: fec42703 lw a4,-20(s0)
80000524: 00e7a023 sw a4,0(a5)
80000528: fec42783 lw a5,-20(s0)
8000052c: 00078663 beqz a5,80000538 <simple_kernel+0x44>
80000530: 00000513 li a0,0
80000534: b35ff0ef jal ra,80000068 <vx_tmc>
80000538: 00000013 nop
8000053c: 01c12083 lw ra,28(sp)
80000540: 01812403 lw s0,24(sp)
80000544: 02010113 addi sp,sp,32
80000548: 00008067 ret
8000054c <test_wsapwn>:
8000054c: fe010113 addi sp,sp,-32
80000550: 00112e23 sw ra,28(sp)
80000554: 00812c23 sw s0,24(sp)
80000558: 02010413 addi s0,sp,32
8000055c: 800007b7 lui a5,0x80000
80000560: 4f478793 addi a5,a5,1268 # 800004f4 <wsapwn_arr+0xff0002f4>
80000564: fef42623 sw a5,-20(s0)
80000568: fec42583 lw a1,-20(s0)
8000056c: 00400513 li a0,4
80000570: af1ff0ef jal ra,80000060 <vx_wspawn>
80000574: f81ff0ef jal ra,800004f4 <simple_kernel>
80000578: 810007b7 lui a5,0x81000
8000057c: 2007a783 lw a5,512(a5) # 81000200 <wsapwn_arr+0x0>
80000580: 00078513 mv a0,a5
80000584: b91ff0ef jal ra,80000114 <vx_print_hex>
80000588: 810007b7 lui a5,0x81000
8000058c: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
80000590: b49ff0ef jal ra,800000d8 <vx_print_str>
80000594: 810007b7 lui a5,0x81000
80000598: 20078793 addi a5,a5,512 # 81000200 <wsapwn_arr+0x0>
8000059c: 0047a783 lw a5,4(a5)
800005a0: 00078513 mv a0,a5
800005a4: b71ff0ef jal ra,80000114 <vx_print_hex>
800005a8: 810007b7 lui a5,0x81000
800005ac: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
800005b0: b29ff0ef jal ra,800000d8 <vx_print_str>
800005b4: 810007b7 lui a5,0x81000
800005b8: 20078793 addi a5,a5,512 # 81000200 <wsapwn_arr+0x0>
800005bc: 0087a783 lw a5,8(a5)
800005c0: 00078513 mv a0,a5
800005c4: b51ff0ef jal ra,80000114 <vx_print_hex>
800005c8: 810007b7 lui a5,0x81000
800005cc: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
800005d0: b09ff0ef jal ra,800000d8 <vx_print_str>
800005d4: 810007b7 lui a5,0x81000
800005d8: 20078793 addi a5,a5,512 # 81000200 <wsapwn_arr+0x0>
800005dc: 00c7a783 lw a5,12(a5)
800005e0: 00078513 mv a0,a5
800005e4: b31ff0ef jal ra,80000114 <vx_print_hex>
800005e8: 810007b7 lui a5,0x81000
800005ec: 09078513 addi a0,a5,144 # 81000090 <wsapwn_arr+0xfffffe90>
800005f0: ae9ff0ef jal ra,800000d8 <vx_print_str>
800005f4: 00000013 nop
800005f8: 01c12083 lw ra,28(sp)
800005fc: 01812403 lw s0,24(sp)
80000600: 02010113 addi sp,sp,32
80000604: 00008067 ret
80000608 <intrinsics_tests>:
80000608: ff010113 addi sp,sp,-16
8000060c: 00112623 sw ra,12(sp)
80000610: 00812423 sw s0,8(sp)
80000614: 01010413 addi s0,sp,16
80000618: c6dff0ef jal ra,80000284 <test_tmc>
8000061c: 810007b7 lui a5,0x81000
80000620: 09478513 addi a0,a5,148 # 81000094 <wsapwn_arr+0xfffffe94>
80000624: ab5ff0ef jal ra,800000d8 <vx_print_str>
80000628: 00400513 li a0,4
8000062c: a3dff0ef jal ra,80000068 <vx_tmc>
80000630: d35ff0ef jal ra,80000364 <test_divergence>
80000634: 00100513 li a0,1
80000638: a31ff0ef jal ra,80000068 <vx_tmc>
8000063c: 810007b7 lui a5,0x81000
80000640: 0a878513 addi a0,a5,168 # 810000a8 <wsapwn_arr+0xfffffea8>
80000644: a95ff0ef jal ra,800000d8 <vx_print_str>
80000648: f05ff0ef jal ra,8000054c <test_wsapwn>
8000064c: 00000013 nop
80000650: 00c12083 lw ra,12(sp)
80000654: 00812403 lw s0,8(sp)
80000658: 01010113 addi sp,sp,16
8000065c: 00008067 ret
80000660 <main>:
80000660: ff010113 addi sp,sp,-16
80000664: 00112623 sw ra,12(sp)
80000668: 00812423 sw s0,8(sp)
8000066c: 01010413 addi s0,sp,16
80000670: 00100513 li a0,1
80000674: 9f5ff0ef jal ra,80000068 <vx_tmc>
80000678: 810007b7 lui a5,0x81000
8000067c: 0f478513 addi a0,a5,244 # 810000f4 <wsapwn_arr+0xfffffef4>
80000680: a59ff0ef jal ra,800000d8 <vx_print_str>
80000684: c01ff0ef jal ra,80000284 <test_tmc>
80000688: 810007b7 lui a5,0x81000
8000068c: 10478513 addi a0,a5,260 # 81000104 <wsapwn_arr+0xffffff04>
80000690: a49ff0ef jal ra,800000d8 <vx_print_str>
80000694: 00400513 li a0,4
80000698: 9d1ff0ef jal ra,80000068 <vx_tmc>
8000069c: cc9ff0ef jal ra,80000364 <test_divergence>
800006a0: 00100513 li a0,1
800006a4: 9c5ff0ef jal ra,80000068 <vx_tmc>
800006a8: 810007b7 lui a5,0x81000
800006ac: 11878513 addi a0,a5,280 # 81000118 <wsapwn_arr+0xffffff18>
800006b0: a29ff0ef jal ra,800000d8 <vx_print_str>
800006b4: e99ff0ef jal ra,8000054c <test_wsapwn>
800006b8: 00000793 li a5,0
800006bc: 00078513 mv a0,a5
800006c0: 00c12083 lw ra,12(sp)
800006c4: 00812403 lw s0,8(sp)
800006c8: 01010113 addi sp,sp,16
800006cc: 00008067 ret
Disassembly of section .rodata:
81000000 <.rodata>:
81000000: 0030 addi a2,sp,8
81000002: 0000 unimp
81000004: 0031 c.nop 12
81000006: 0000 unimp
81000008: 0032 c.slli zero,0xc
8100000a: 0000 unimp
8100000c: 00000033 add zero,zero,zero
81000010: 0034 addi a3,sp,8
81000012: 0000 unimp
81000014: 0035 c.nop 13
81000016: 0000 unimp
81000018: 0036 c.slli zero,0xd
8100001a: 0000 unimp
8100001c: 00000037 lui zero,0x0
81000020: 0038 addi a4,sp,8
81000022: 0000 unimp
81000024: 0039 c.nop 14
81000026: 0000 unimp
81000028: 0061 c.nop 24
8100002a: 0000 unimp
8100002c: 0062 c.slli zero,0x18
8100002e: 0000 unimp
81000030: 00000063 beqz zero,81000030 <main+0xfff9d0>
81000034: 0064 addi s1,sp,12
81000036: 0000 unimp
81000038: 0065 c.nop 25
8100003a: 0000 unimp
8100003c: 0066 c.slli zero,0x19
8100003e: 0000 unimp
81000040: 000a c.slli zero,0x2
81000042: 0000 unimp
81000044: 0030 addi a2,sp,8
81000046: 0000 unimp
81000048: 0031 c.nop 12
8100004a: 0000 unimp
8100004c: 0032 c.slli zero,0xc
8100004e: 0000 unimp
81000050: 00000033 add zero,zero,zero
81000054: 0034 addi a3,sp,8
81000056: 0000 unimp
81000058: 0035 c.nop 13
8100005a: 0000 unimp
8100005c: 0036 c.slli zero,0xd
8100005e: 0000 unimp
81000060: 00000037 lui zero,0x0
81000064: 0038 addi a4,sp,8
81000066: 0000 unimp
81000068: 0039 c.nop 14
8100006a: 0000 unimp
8100006c: 0061 c.nop 24
8100006e: 0000 unimp
81000070: 0062 c.slli zero,0x18
81000072: 0000 unimp
81000074: 00000063 beqz zero,81000074 <main+0xfffa14>
81000078: 0064 addi s1,sp,12
8100007a: 0000 unimp
8100007c: 0065 c.nop 25
8100007e: 0000 unimp
81000080: 0066 c.slli zero,0x19
81000082: 0000 unimp
81000084: 6574 flw fa3,76(a0)
81000086: 745f7473 csrrci s0,0x745,30
8100008a: 636d lui t1,0x1b
8100008c: 000a c.slli zero,0x2
8100008e: 0000 unimp
81000090: 000a c.slli zero,0x2
81000092: 0000 unimp
81000094: 6574 flw fa3,76(a0)
81000096: 645f7473 csrrci s0,0x645,30
8100009a: 7669 lui a2,0xffffa
8100009c: 7265 lui tp,0xffff9
8100009e: 636e6567 0x636e6567
810000a2: 0a65 addi s4,s4,25
810000a4: 0000 unimp
810000a6: 0000 unimp
810000a8: 6574 flw fa3,76(a0)
810000aa: 735f7473 csrrci s0,0x735,30
810000ae: 6170 flw fa2,68(a0)
810000b0: 000a6e77 0xa6e77
810000b4: 0030 addi a2,sp,8
810000b6: 0000 unimp
810000b8: 0031 c.nop 12
810000ba: 0000 unimp
810000bc: 0032 c.slli zero,0xc
810000be: 0000 unimp
810000c0: 00000033 add zero,zero,zero
810000c4: 0034 addi a3,sp,8
810000c6: 0000 unimp
810000c8: 0035 c.nop 13
810000ca: 0000 unimp
810000cc: 0036 c.slli zero,0xd
810000ce: 0000 unimp
810000d0: 00000037 lui zero,0x0
810000d4: 0038 addi a4,sp,8
810000d6: 0000 unimp
810000d8: 0039 c.nop 14
810000da: 0000 unimp
810000dc: 0061 c.nop 24
810000de: 0000 unimp
810000e0: 0062 c.slli zero,0x18
810000e2: 0000 unimp
810000e4: 00000063 beqz zero,810000e4 <main+0xfffa84>
810000e8: 0064 addi s1,sp,12
810000ea: 0000 unimp
810000ec: 0065 c.nop 25
810000ee: 0000 unimp
810000f0: 0066 c.slli zero,0x19
810000f2: 0000 unimp
810000f4: 706d6953 0x706d6953
810000f8: 656c flw fa1,76(a0)
810000fa: 4d20 lw s0,88(a0)
810000fc: 6961 lui s2,0x18
810000fe: 316e fld ft2,248(sp)
81000100: 000a c.slli zero,0x2
81000102: 0000 unimp
81000104: 6574 flw fa3,76(a0)
81000106: 645f7473 csrrci s0,0x645,30
8100010a: 7669 lui a2,0xffffa
8100010c: 7265 lui tp,0xffff9
8100010e: 636e6567 0x636e6567
81000112: 0a65 addi s4,s4,25
81000114: 0000 unimp
81000116: 0000 unimp
81000118: 6574 flw fa3,76(a0)
8100011a: 735f7473 csrrci s0,0x735,30
8100011e: 6170 flw fa2,68(a0)
81000120: 000a6e77 0xa6e77
Disassembly of section .data:
81000124 <hextoa>:
81000124: 0000 unimp
81000126: 8100 0x8100
81000128: 0004 0x4
8100012a: 8100 0x8100
8100012c: 0008 0x8
8100012e: 8100 0x8100
81000130: 000c 0xc
81000132: 8100 0x8100
81000134: 0010 0x10
81000136: 8100 0x8100
81000138: 0014 0x14
8100013a: 8100 0x8100
8100013c: 0018 0x18
8100013e: 8100 0x8100
81000140: 001c 0x1c
81000142: 8100 0x8100
81000144: 0020 addi s0,sp,8
81000146: 8100 0x8100
81000148: 0024 addi s1,sp,8
8100014a: 8100 0x8100
8100014c: 0028 addi a0,sp,8
8100014e: 8100 0x8100
81000150: 002c addi a1,sp,8
81000152: 8100 0x8100
81000154: 0030 addi a2,sp,8
81000156: 8100 0x8100
81000158: 0034 addi a3,sp,8
8100015a: 8100 0x8100
8100015c: 0038 addi a4,sp,8
8100015e: 8100 0x8100
81000160: 003c addi a5,sp,8
81000162: 8100 0x8100
81000164 <hextoa>:
81000164: 0044 addi s1,sp,4
81000166: 8100 0x8100
81000168: 0048 addi a0,sp,4
8100016a: 8100 0x8100
8100016c: 004c addi a1,sp,4
8100016e: 8100 0x8100
81000170: 0050 addi a2,sp,4
81000172: 8100 0x8100
81000174: 0054 addi a3,sp,4
81000176: 8100 0x8100
81000178: 0058 addi a4,sp,4
8100017a: 8100 0x8100
8100017c: 005c addi a5,sp,4
8100017e: 8100 0x8100
81000180: 0060 addi s0,sp,12
81000182: 8100 0x8100
81000184: 0064 addi s1,sp,12
81000186: 8100 0x8100
81000188: 0068 addi a0,sp,12
8100018a: 8100 0x8100
8100018c: 006c addi a1,sp,12
8100018e: 8100 0x8100
81000190: 0070 addi a2,sp,12
81000192: 8100 0x8100
81000194: 0074 addi a3,sp,12
81000196: 8100 0x8100
81000198: 0078 addi a4,sp,12
8100019a: 8100 0x8100
8100019c: 007c addi a5,sp,12
8100019e: 8100 0x8100
810001a0: 0080 addi s0,sp,64
810001a2: 8100 0x8100
810001a4 <hextoa>:
810001a4: 00b4 addi a3,sp,72
810001a6: 8100 0x8100
810001a8: 00b8 addi a4,sp,72
810001aa: 8100 0x8100
810001ac: 00bc addi a5,sp,72
810001ae: 8100 0x8100
810001b0: 00c0 addi s0,sp,68
810001b2: 8100 0x8100
810001b4: 00c4 addi s1,sp,68
810001b6: 8100 0x8100
810001b8: 00c8 addi a0,sp,68
810001ba: 8100 0x8100
810001bc: 00cc addi a1,sp,68
810001be: 8100 0x8100
810001c0: 00d0 addi a2,sp,68
810001c2: 8100 0x8100
810001c4: 00d4 addi a3,sp,68
810001c6: 8100 0x8100
810001c8: 00d8 addi a4,sp,68
810001ca: 8100 0x8100
810001cc: 00dc addi a5,sp,68
810001ce: 8100 0x8100
810001d0: 00e0 addi s0,sp,76
810001d2: 8100 0x8100
810001d4: 00e4 addi s1,sp,76
810001d6: 8100 0x8100
810001d8: 00e8 addi a0,sp,76
810001da: 8100 0x8100
810001dc: 00ec addi a1,sp,76
810001de: 8100 0x8100
810001e0: 00f0 addi a2,sp,76
810001e2: 8100 0x8100
Disassembly of section .bss:
810001e4 <global_argument_struct>:
810001e4: 0000 unimp
...
810001e8 <global_function_pointer>:
810001e8: 0000 unimp
...
810001ec <global_num_threads>:
810001ec: 0000 unimp
...
810001f0 <arr>:
...
81000200 <wsapwn_arr>:
...
Disassembly of section .comment:
82000000 <.comment>:
82000000: 3a434347 fmsub.d ft6,ft6,ft4,ft7,rmm
82000004: 2820 fld fs0,80(s0)
82000006: 29554e47 fmsub.s ft8,fa0,fs5,ft5,rmm
8200000a: 3820 fld fs0,112(s0)
8200000c: 322e fld ft4,232(sp)
8200000e: 302e fld ft0,232(sp)
...

Binary file not shown.

View file

@ -0,0 +1,144 @@
:0200000480007A
:100000009705000093850502130540006B10B500AD
:10001000EF000001EF00C064130500006B00050055
:10002000130540006B000500F32610029396A6010D
:10003000732600029315A6001316260037F1FF6FF2
:100040003301B1403301D1403301C100F326100226
:1000500063860600130500006B0005006780000042
:100060006B10B500678000006B0005006780000022
:100070006B40B500678000006B20050067800000C2
:100080006B3000006780000073251002678000005D
:100090007325000267800000130540006B00050017
:1000A000F32610029396F600732600029315A6001D
:1000B0001316260037F1FF6F3301B1403301D140F1
:1000C0003301C100F3261002638606001305000009
:1000D0006B00050067800000130141FF2320110021
:1000E0002322B1008345050063880500EF00C001AD
:1000F000130515006FF01FFF8320010083254100C9
:100100001301C10067800000B702010023A0B20004
:1001100067800000130101FE232E1100232C8100B3
:10012000130401022326A4FEB70700810327C4FE9F
:100130001317270093874712B307F70083A7070019
:1001400013850700EFF05FF9130000008320C10161
:10015000032481011301010267800000130101FEE5
:10016000232E1100232C8100130401022326A4FE58
:100170002324B4FE0325C4FEEFF01FF6032584FEFE
:10018000EFF05FF9B707008113850704EFF0DFF4A4
:10019000130000008320C101032481011301010227
:1001A00067800000130101FE232E1100232C810023
:1001B00013040102B707008183A7C71E1385070038
:1001C000EFF09FEAB707008103A7871EB7070081FA
:1001D00083A7471E13850700E7000700EFF0DFEA5B
:1001E0002326A4FE8327C4FE6388070013050000AE
:1001F000EFF09FE76F00C00013051000EFF0DFE69F
:10020000130000008320C1010324810113010102B6
:1002100067800000130101FE232E1100232C8100B2
:10022000130401022326A4FE2324B4FE2322C4FEC9
:100230002320D4FEB7070081032744FE23A4E71E32
:10024000B7070081032704FE23A2E71EB70700813A
:10025000032784FE23A6E71EB70700809387471A6B
:10026000938507000325C4FEEFF09FDFEFF09FF3B7
:10027000130000008320C101032481011301010246
:1002800067800000130101FE232E1100232C810042
:1002900013040102B707008113854708EFF0DFE37D
:1002A00013054000EFF05FDCEFF09FDE2326A4FE95
:1002B0000327C4FEB70700818326C4FE9396260059
:1002C0009387071FB387F60023A0E70013051000EC
:1002D000EFF09FD9B707008183A7071F1385070099
:1002E000EFF05FE3B707008113850709EFF0DFDE6A
:1002F000B70700819387071F83A74700138507006F
:10030000EFF05FE1B707008113850709EFF0DFDC4D
:10031000B70700819387071F83A78700138507000E
:10032000EFF05FDFB707008113850709EFF0DFDA31
:10033000B70700819387071F83A7C70013850700AE
:10034000EFF05FDDB707008113850709EFF0DFD815
:10035000130000008320C101032481011301010265
:1003600067800000130101FE232E1100232C810061
:1003700013040102EFF0DFD12326A4FE8327C4FE7D
:1003800093B72700A305F4FE8347B4FE1385070047
:10039000EFF09FCE8347B4FE638407068327C4FE35
:1003A00093B717002305F4FE8347A4FE13850700C7
:1003B000EFF09FCC8347A4FE63820702B70700815A
:1003C0000327C4FE131727009387071FB307F700FF
:1003D0001307A00023A0E7006F000002B707008109
:1003E0000327C4FE131727009387071FB307F700DF
:1003F0001307B00023A0E700EFF09FC86F0040068E
:100400008327C4FE93B73700A304F4FE834794FE0A
:1004100013850700EFF05FC6834794FE63820702EF
:10042000B70700810327C4FE131727009387071F10
:10043000B307F7001307C00023A0E7006F00000216
:10044000B70700810327C4FE131727009387071FF0
:10045000B307F7001307D00023A0E700EFF05FC257
:10046000EFF01FC2B707008183A7071F138507009E
:10047000EFF05FCAB707008113850709EFF0DFC50A
:10048000B70700819387071F83A7470013850700DD
:10049000EFF05FC8B707008113850709EFF0DFC3EE
:1004A000B70700819387071F83A78700138507007D
:1004B000EFF05FC6B707008113850709EFF0DFC1D2
:1004C000B70700819387071F83A7C700138507001D
:1004D000EFF05FC4B707008113850709EFF0DFBFB6
:1004E000130000008320C1010324810113010102D4
:1004F00067800000130101FE232E1100232C8100D0
:1005000013040102EFF05FB82326A4FEB7070081B1
:100510000327C4FE1317270093870720B307F700AC
:100520000327C4FE23A0E7008327C4FE63860700D9
:1005300013050000EFF05FB3130000008320C1013A
:10054000032481011301010267800000130101FEF1
:10055000232E1100232C810013040102B707008011
:100560009387474F2326F4FE8325C4FE13054000DE
:10057000EFF01FAFEFF01FF8B707008183A7072048
:1005800013850700EFF01FB9B7070081138507092E
:10059000EFF09FB4B70700819387072083A7470038
:1005A00013850700EFF01FB7B70700811385070910
:1005B000EFF09FB2B70700819387072083A78700DA
:1005C00013850700EFF01FB5B707008113850709F2
:1005D000EFF09FB0B70700819387072083A7C7007C
:1005E00013850700EFF01FB3B707008113850709D4
:1005F000EFF09FAE130000008320C10103248101AE
:100600001301010267800000130101FF232611007E
:100610002324810013040101EFF0DFC6B707008136
:1006200013854709EFF05FAB13054000EFF0DFA340
:10063000EFF05FD313051000EFF01FA3B7070081A1
:100640001385870AEFF05FA9EFF05FF01300000059
:100650008320C10003248100130101016780000091
:10066000130101FF2326110023248100130401013B
:1006700013051000EFF05F9FB70700811385470F48
:10068000EFF09FA5EFF01FC0B7070081138547105B
:10069000EFF09FA413054000EFF01F9DEFF09FCCFB
:1006A00013051000EFF05F9CB707008113858711D9
:1006B000EFF09FA2EFF09FE993070000138507007A
:1006C0008320C10003248100130101016780000021
:02000004810079
:10000000300000003100000032000000330000002A
:10001000340000003500000036000000370000000A
:10002000380000003900000061000000620000009C
:10003000630000006400000065000000660000002E
:100040000A00000030000000310000003200000013
:1000500033000000340000003500000036000000CE
:100060003700000038000000390000006100000087
:1000700062000000630000006400000065000000F2
:1000800066000000746573745F746D630A0000009D
:100090000A000000746573745F6469766572676551
:1000A0006E63650A00000000746573745F737061AD
:1000B000776E0A00300000003100000032000000BE
:1000C000330000003400000035000000360000005E
:1000D0003700000038000000390000006100000017
:1000E0006200000063000000640000006500000082
:1000F0006600000053696D706C65204D61696E315A
:100100000A000000746573745F64697665726765E0
:100110006E63650A00000000746573745F7370613C
:04012000776E0A00EC
:100124000000008104000081080000810C000081AF
:100134001000008114000081180000811C0000815F
:100144002000008124000081280000812C0000810F
:100154003000008134000081380000813C000081BF
:1001640044000081480000814C000081500000815F
:1001740054000081580000815C000081600000810F
:1001840064000081680000816C00008170000081BF
:1001940074000081780000817C000081800000816F
:1001A400B4000081B8000081BC000081C00000815F
:1001B400C4000081C8000081CC000081D00000810F
:1001C400D4000081D8000081DC000081E0000081BF
:1001D400E4000081E8000081EC000081F00000816F
:040000058000000077
:00000001FF

View file

@ -0,0 +1,42 @@
#include "io/io.h" // Printing functions
#include "intrinsics/instrinsics.h" // vx_threadID and vx_WarpID
struct args
{
void * data;
};
void function(void * arg)
{
struct args * real_arg = (struct args *) arg;
unsigned tid = vx_threadID();
unsigned wid = vx_WarpID();
__if(something) // Control divergent if
{
}
__else
{
}
__endif
}
int main()
{
void * data = vx_loadfile("filename.txt"); // The raw char data will be returned by vx_loadfile
struct args arg;
arg.data = data;
vx_spawnWarps(numWarps, numThreads, function, &data);
}

View file

@ -114,7 +114,7 @@ Disassembly of section .text:
80000128: 810007b7 lui a5,0x81000
8000012c: fec42703 lw a4,-20(s0)
80000130: 00271713 slli a4,a4,0x2
80000134: 0fc78793 addi a5,a5,252 # 810000fc <z+0xfffffe94>
80000134: 0f478793 addi a5,a5,244 # 810000f4 <z+0xfffffe94>
80000138: 00f707b3 add a5,a4,a5
8000013c: 0007a783 lw a5,0(a5)
80000140: 00078513 mv a0,a5
@ -137,7 +137,7 @@ Disassembly of section .text:
8000017c: fe842503 lw a0,-24(s0)
80000180: f95ff0ef jal ra,80000114 <vx_print_hex>
80000184: 810007b7 lui a5,0x81000
80000188: 04078513 addi a0,a5,64 # 81000040 <z+0xfffffdd8>
80000188: 04078513 addi a0,a5,64 # 81000040 <z+0xfffffde0>
8000018c: f4dff0ef jal ra,800000d8 <vx_print_str>
80000190: 00000013 nop
80000194: 01c12083 lw ra,28(sp)
@ -151,13 +151,13 @@ Disassembly of section .text:
800001ac: 00812c23 sw s0,24(sp)
800001b0: 02010413 addi s0,sp,32
800001b4: 810007b7 lui a5,0x81000
800001b8: 2447a783 lw a5,580(a5) # 81000244 <z+0xffffffdc>
800001b8: 23c7a783 lw a5,572(a5) # 8100023c <z+0xffffffdc>
800001bc: 00078513 mv a0,a5
800001c0: ea9ff0ef jal ra,80000068 <vx_tmc>
800001c4: 810007b7 lui a5,0x81000
800001c8: 2407a703 lw a4,576(a5) # 81000240 <z+0xffffffd8>
800001c8: 2387a703 lw a4,568(a5) # 81000238 <z+0xffffffd8>
800001cc: 810007b7 lui a5,0x81000
800001d0: 23c7a783 lw a5,572(a5) # 8100023c <z+0xffffffd4>
800001d0: 2347a783 lw a5,564(a5) # 81000234 <z+0xffffffd4>
800001d4: 00078513 mv a0,a5
800001d8: 000700e7 jalr a4
800001dc: eadff0ef jal ra,80000088 <vx_warpID>
@ -186,15 +186,15 @@ Disassembly of section .text:
80000230: fed42023 sw a3,-32(s0)
80000234: 810007b7 lui a5,0x81000
80000238: fe442703 lw a4,-28(s0)
8000023c: 24e7a023 sw a4,576(a5) # 81000240 <z+0xffffffd8>
8000023c: 22e7ac23 sw a4,568(a5) # 81000238 <z+0xffffffd8>
80000240: 810007b7 lui a5,0x81000
80000244: fe042703 lw a4,-32(s0)
80000248: 22e7ae23 sw a4,572(a5) # 8100023c <z+0xffffffd4>
80000248: 22e7aa23 sw a4,564(a5) # 81000234 <z+0xffffffd4>
8000024c: 810007b7 lui a5,0x81000
80000250: fe842703 lw a4,-24(s0)
80000254: 24e7a223 sw a4,580(a5) # 81000244 <z+0xffffffdc>
80000254: 22e7ae23 sw a4,572(a5) # 8100023c <z+0xffffffdc>
80000258: 800007b7 lui a5,0x80000
8000025c: 1a478793 addi a5,a5,420 # 800001a4 <z+0xfeffff3c>
8000025c: 1a478793 addi a5,a5,420 # 800001a4 <z+0xfeffff44>
80000260: 00078593 mv a1,a5
80000264: fec42503 lw a0,-20(s0)
80000268: df9ff0ef jal ra,80000060 <vx_wspawn>
@ -211,7 +211,7 @@ Disassembly of section .text:
8000028c: 00812c23 sw s0,24(sp)
80000290: 02010413 addi s0,sp,32
80000294: 810007b7 lui a5,0x81000
80000298: 08478513 addi a0,a5,132 # 81000084 <z+0xfffffe1c>
80000298: 08478513 addi a0,a5,132 # 81000084 <z+0xfffffe24>
8000029c: e3dff0ef jal ra,800000d8 <vx_print_str>
800002a0: 00400513 li a0,4
800002a4: dc5ff0ef jal ra,80000068 <vx_tmc>
@ -221,41 +221,41 @@ Disassembly of section .text:
800002b4: 810007b7 lui a5,0x81000
800002b8: fec42683 lw a3,-20(s0)
800002bc: 00269693 slli a3,a3,0x2
800002c0: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
800002c0: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
800002c4: 00f687b3 add a5,a3,a5
800002c8: 00e7a023 sw a4,0(a5)
800002cc: 00100513 li a0,1
800002d0: d99ff0ef jal ra,80000068 <vx_tmc>
800002d4: 810007b7 lui a5,0x81000
800002d8: 2487a783 lw a5,584(a5) # 81000248 <z+0xffffffe0>
800002d8: 2407a783 lw a5,576(a5) # 81000240 <z+0xffffffe0>
800002dc: 00078513 mv a0,a5
800002e0: e35ff0ef jal ra,80000114 <vx_print_hex>
800002e4: 810007b7 lui a5,0x81000
800002e8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
800002e8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
800002ec: dedff0ef jal ra,800000d8 <vx_print_str>
800002f0: 810007b7 lui a5,0x81000
800002f4: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
800002f4: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
800002f8: 0047a783 lw a5,4(a5)
800002fc: 00078513 mv a0,a5
80000300: e15ff0ef jal ra,80000114 <vx_print_hex>
80000304: 810007b7 lui a5,0x81000
80000308: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
80000308: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
8000030c: dcdff0ef jal ra,800000d8 <vx_print_str>
80000310: 810007b7 lui a5,0x81000
80000314: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
80000314: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
80000318: 0087a783 lw a5,8(a5)
8000031c: 00078513 mv a0,a5
80000320: df5ff0ef jal ra,80000114 <vx_print_hex>
80000324: 810007b7 lui a5,0x81000
80000328: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
80000328: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
8000032c: dadff0ef jal ra,800000d8 <vx_print_str>
80000330: 810007b7 lui a5,0x81000
80000334: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
80000334: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
80000338: 00c7a783 lw a5,12(a5)
8000033c: 00078513 mv a0,a5
80000340: dd5ff0ef jal ra,80000114 <vx_print_hex>
80000344: 810007b7 lui a5,0x81000
80000348: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
80000348: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
8000034c: d8dff0ef jal ra,800000d8 <vx_print_str>
80000350: 00000013 nop
80000354: 01c12083 lw ra,28(sp)
@ -289,7 +289,7 @@ Disassembly of section .text:
800003bc: 810007b7 lui a5,0x81000
800003c0: fec42703 lw a4,-20(s0)
800003c4: 00271713 slli a4,a4,0x2
800003c8: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
800003c8: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
800003cc: 00f707b3 add a5,a4,a5
800003d0: 00a00713 li a4,10
800003d4: 00e7a023 sw a4,0(a5)
@ -297,7 +297,7 @@ Disassembly of section .text:
800003dc: 810007b7 lui a5,0x81000
800003e0: fec42703 lw a4,-20(s0)
800003e4: 00271713 slli a4,a4,0x2
800003e8: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
800003e8: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
800003ec: 00f707b3 add a5,a4,a5
800003f0: 00b00713 li a4,11
800003f4: 00e7a023 sw a4,0(a5)
@ -314,7 +314,7 @@ Disassembly of section .text:
80000420: 810007b7 lui a5,0x81000
80000424: fec42703 lw a4,-20(s0)
80000428: 00271713 slli a4,a4,0x2
8000042c: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
8000042c: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
80000430: 00f707b3 add a5,a4,a5
80000434: 00c00713 li a4,12
80000438: 00e7a023 sw a4,0(a5)
@ -322,42 +322,42 @@ Disassembly of section .text:
80000440: 810007b7 lui a5,0x81000
80000444: fec42703 lw a4,-20(s0)
80000448: 00271713 slli a4,a4,0x2
8000044c: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
8000044c: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
80000450: 00f707b3 add a5,a4,a5
80000454: 00d00713 li a4,13
80000458: 00e7a023 sw a4,0(a5)
8000045c: c25ff0ef jal ra,80000080 <vx_join>
80000460: c21ff0ef jal ra,80000080 <vx_join>
80000464: 810007b7 lui a5,0x81000
80000468: 2487a783 lw a5,584(a5) # 81000248 <z+0xffffffe0>
80000468: 2407a783 lw a5,576(a5) # 81000240 <z+0xffffffe0>
8000046c: 00078513 mv a0,a5
80000470: ca5ff0ef jal ra,80000114 <vx_print_hex>
80000474: 810007b7 lui a5,0x81000
80000478: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
80000478: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
8000047c: c5dff0ef jal ra,800000d8 <vx_print_str>
80000480: 810007b7 lui a5,0x81000
80000484: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
80000484: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
80000488: 0047a783 lw a5,4(a5)
8000048c: 00078513 mv a0,a5
80000490: c85ff0ef jal ra,80000114 <vx_print_hex>
80000494: 810007b7 lui a5,0x81000
80000498: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
80000498: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
8000049c: c3dff0ef jal ra,800000d8 <vx_print_str>
800004a0: 810007b7 lui a5,0x81000
800004a4: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
800004a4: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
800004a8: 0087a783 lw a5,8(a5)
800004ac: 00078513 mv a0,a5
800004b0: c65ff0ef jal ra,80000114 <vx_print_hex>
800004b4: 810007b7 lui a5,0x81000
800004b8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
800004b8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
800004bc: c1dff0ef jal ra,800000d8 <vx_print_str>
800004c0: 810007b7 lui a5,0x81000
800004c4: 24878793 addi a5,a5,584 # 81000248 <z+0xffffffe0>
800004c4: 24078793 addi a5,a5,576 # 81000240 <z+0xffffffe0>
800004c8: 00c7a783 lw a5,12(a5)
800004cc: 00078513 mv a0,a5
800004d0: c45ff0ef jal ra,80000114 <vx_print_hex>
800004d4: 810007b7 lui a5,0x81000
800004d8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
800004d8: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
800004dc: bfdff0ef jal ra,800000d8 <vx_print_str>
800004e0: 00000013 nop
800004e4: 01c12083 lw ra,28(sp)
@ -375,7 +375,7 @@ Disassembly of section .text:
8000050c: 810007b7 lui a5,0x81000
80000510: fec42703 lw a4,-20(s0)
80000514: 00271713 slli a4,a4,0x2
80000518: 25878793 addi a5,a5,600 # 81000258 <z+0xfffffff0>
80000518: 25078793 addi a5,a5,592 # 81000250 <z+0xfffffff0>
8000051c: 00f707b3 add a5,a4,a5
80000520: fec42703 lw a4,-20(s0)
80000524: 00e7a023 sw a4,0(a5)
@ -395,42 +395,42 @@ Disassembly of section .text:
80000554: 00812c23 sw s0,24(sp)
80000558: 02010413 addi s0,sp,32
8000055c: 800007b7 lui a5,0x80000
80000560: 4f478793 addi a5,a5,1268 # 800004f4 <z+0xff00028c>
80000560: 4f478793 addi a5,a5,1268 # 800004f4 <z+0xff000294>
80000564: fef42623 sw a5,-20(s0)
80000568: fec42583 lw a1,-20(s0)
8000056c: 00400513 li a0,4
80000570: af1ff0ef jal ra,80000060 <vx_wspawn>
80000574: f81ff0ef jal ra,800004f4 <simple_kernel>
80000578: 810007b7 lui a5,0x81000
8000057c: 2587a783 lw a5,600(a5) # 81000258 <z+0xfffffff0>
8000057c: 2507a783 lw a5,592(a5) # 81000250 <z+0xfffffff0>
80000580: 00078513 mv a0,a5
80000584: b91ff0ef jal ra,80000114 <vx_print_hex>
80000588: 810007b7 lui a5,0x81000
8000058c: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
8000058c: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
80000590: b49ff0ef jal ra,800000d8 <vx_print_str>
80000594: 810007b7 lui a5,0x81000
80000598: 25878793 addi a5,a5,600 # 81000258 <z+0xfffffff0>
80000598: 25078793 addi a5,a5,592 # 81000250 <z+0xfffffff0>
8000059c: 0047a783 lw a5,4(a5)
800005a0: 00078513 mv a0,a5
800005a4: b71ff0ef jal ra,80000114 <vx_print_hex>
800005a8: 810007b7 lui a5,0x81000
800005ac: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
800005ac: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
800005b0: b29ff0ef jal ra,800000d8 <vx_print_str>
800005b4: 810007b7 lui a5,0x81000
800005b8: 25878793 addi a5,a5,600 # 81000258 <z+0xfffffff0>
800005b8: 25078793 addi a5,a5,592 # 81000250 <z+0xfffffff0>
800005bc: 0087a783 lw a5,8(a5)
800005c0: 00078513 mv a0,a5
800005c4: b51ff0ef jal ra,80000114 <vx_print_hex>
800005c8: 810007b7 lui a5,0x81000
800005cc: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
800005cc: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
800005d0: b09ff0ef jal ra,800000d8 <vx_print_str>
800005d4: 810007b7 lui a5,0x81000
800005d8: 25878793 addi a5,a5,600 # 81000258 <z+0xfffffff0>
800005d8: 25078793 addi a5,a5,592 # 81000250 <z+0xfffffff0>
800005dc: 00c7a783 lw a5,12(a5)
800005e0: 00078513 mv a0,a5
800005e4: b31ff0ef jal ra,80000114 <vx_print_hex>
800005e8: 810007b7 lui a5,0x81000
800005ec: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe28>
800005ec: 09078513 addi a0,a5,144 # 81000090 <z+0xfffffe30>
800005f0: ae9ff0ef jal ra,800000d8 <vx_print_str>
800005f4: 00000013 nop
800005f8: 01c12083 lw ra,28(sp)
@ -445,7 +445,7 @@ Disassembly of section .text:
80000614: 01010413 addi s0,sp,16
80000618: c6dff0ef jal ra,80000284 <test_tmc>
8000061c: 810007b7 lui a5,0x81000
80000620: 09478513 addi a0,a5,148 # 81000094 <z+0xfffffe2c>
80000620: 09478513 addi a0,a5,148 # 81000094 <z+0xfffffe34>
80000624: ab5ff0ef jal ra,800000d8 <vx_print_str>
80000628: 00400513 li a0,4
8000062c: a3dff0ef jal ra,80000068 <vx_tmc>
@ -453,7 +453,7 @@ Disassembly of section .text:
80000634: 00100513 li a0,1
80000638: a31ff0ef jal ra,80000068 <vx_tmc>
8000063c: 810007b7 lui a5,0x81000
80000640: 0a878513 addi a0,a5,168 # 810000a8 <z+0xfffffe40>
80000640: 0a878513 addi a0,a5,168 # 810000a8 <z+0xfffffe48>
80000644: a95ff0ef jal ra,800000d8 <vx_print_str>
80000648: f05ff0ef jal ra,8000054c <test_wsapwn>
8000064c: 00000013 nop
@ -528,79 +528,19 @@ Disassembly of section .text:
80000758: 00008067 ret
8000075c <main>:
8000075c: fc010113 addi sp,sp,-64
80000760: 02112e23 sw ra,60(sp)
80000764: 02812c23 sw s0,56(sp)
80000768: 04010413 addi s0,sp,64
8000075c: ff010113 addi sp,sp,-16
80000760: 00112623 sw ra,12(sp)
80000764: 00812423 sw s0,8(sp)
80000768: 01010413 addi s0,sp,16
8000076c: 00100513 li a0,1
80000770: 8f9ff0ef jal ra,80000068 <vx_tmc>
80000774: 810007b7 lui a5,0x81000
80000778: 1bc78793 addi a5,a5,444 # 810001bc <z+0xffffff54>
8000077c: fcf42423 sw a5,-56(s0)
80000780: 810007b7 lui a5,0x81000
80000784: 1fc78793 addi a5,a5,508 # 810001fc <z+0xffffff94>
80000788: fcf42623 sw a5,-52(s0)
8000078c: 810007b7 lui a5,0x81000
80000790: 26878793 addi a5,a5,616 # 81000268 <z+0x0>
80000794: fcf42823 sw a5,-48(s0)
80000798: 00400793 li a5,4
8000079c: fcf42a23 sw a5,-44(s0)
800007a0: 00400793 li a5,4
800007a4: fcf42c23 sw a5,-40(s0)
800007a8: 00400793 li a5,4
800007ac: fef42223 sw a5,-28(s0)
800007b0: 00400793 li a5,4
800007b4: fef42023 sw a5,-32(s0)
800007b8: fe442703 lw a4,-28(s0)
800007bc: fe042583 lw a1,-32(s0)
800007c0: fc840793 addi a5,s0,-56
800007c4: 00078693 mv a3,a5
800007c8: 800007b7 lui a5,0x80000
800007cc: 66078613 addi a2,a5,1632 # 80000660 <z+0xff0003f8>
800007d0: 00070513 mv a0,a4
800007d4: a41ff0ef jal ra,80000214 <vx_spawnWarps>
800007d8: fe042623 sw zero,-20(s0)
800007dc: 0800006f j 8000085c <main+0x100>
800007e0: fe042423 sw zero,-24(s0)
800007e4: 0540006f j 80000838 <main+0xdc>
800007e8: fd442703 lw a4,-44(s0)
800007ec: fec42783 lw a5,-20(s0)
800007f0: 02f70733 mul a4,a4,a5
800007f4: fe842783 lw a5,-24(s0)
800007f8: 00f707b3 add a5,a4,a5
800007fc: fcf42e23 sw a5,-36(s0)
80000800: 810007b7 lui a5,0x81000
80000804: fdc42703 lw a4,-36(s0)
80000808: 00271713 slli a4,a4,0x2
8000080c: 26878793 addi a5,a5,616 # 81000268 <z+0x0>
80000810: 00f707b3 add a5,a4,a5
80000814: 0007a783 lw a5,0(a5)
80000818: 00078513 mv a0,a5
8000081c: 8f9ff0ef jal ra,80000114 <vx_print_hex>
80000820: 810007b7 lui a5,0x81000
80000824: 0f478513 addi a0,a5,244 # 810000f4 <z+0xfffffe8c>
80000828: 8b1ff0ef jal ra,800000d8 <vx_print_str>
8000082c: fe842783 lw a5,-24(s0)
80000830: 00178793 addi a5,a5,1
80000834: fef42423 sw a5,-24(s0)
80000838: fd442703 lw a4,-44(s0)
8000083c: fe842783 lw a5,-24(s0)
80000840: fae7e4e3 bltu a5,a4,800007e8 <main+0x8c>
80000844: 810007b7 lui a5,0x81000
80000848: 0f878513 addi a0,a5,248 # 810000f8 <z+0xfffffe90>
8000084c: 88dff0ef jal ra,800000d8 <vx_print_str>
80000850: fec42783 lw a5,-20(s0)
80000854: 00178793 addi a5,a5,1
80000858: fef42623 sw a5,-20(s0)
8000085c: fd842703 lw a4,-40(s0)
80000860: fec42783 lw a5,-20(s0)
80000864: f6e7eee3 bltu a5,a4,800007e0 <main+0x84>
80000868: 00000793 li a5,0
8000086c: 00078513 mv a0,a5
80000870: 03c12083 lw ra,60(sp)
80000874: 03812403 lw s0,56(sp)
80000878: 04010113 addi sp,sp,64
8000087c: 00008067 ret
80000774: e95ff0ef jal ra,80000608 <intrinsics_tests>
80000778: 00000793 li a5,0
8000077c: 00078513 mv a0,a5
80000780: 00c12083 lw ra,12(sp)
80000784: 00812403 lw s0,8(sp)
80000788: 01010113 addi sp,sp,16
8000078c: 00008067 ret
Disassembly of section .rodata:
@ -712,146 +652,146 @@ Disassembly of section .rodata:
810000ec: 0065 c.nop 25
810000ee: 0000 unimp
810000f0: 0066 c.slli zero,0x19
810000f2: 0000 unimp
810000f4: 0020 addi s0,sp,8
810000f6: 0000 unimp
810000f8: 000a c.slli zero,0x2
Disassembly of section .data:
810000fc <hextoa>:
810000fc: 0000 unimp
810000f4 <hextoa>:
810000f4: 0000 unimp
810000f6: 8100 0x8100
810000f8: 0004 0x4
810000fa: 8100 0x8100
810000fc: 0008 0x8
810000fe: 8100 0x8100
81000100: 0004 0x4
81000100: 000c 0xc
81000102: 8100 0x8100
81000104: 0008 0x8
81000104: 0010 0x10
81000106: 8100 0x8100
81000108: 000c 0xc
81000108: 0014 0x14
8100010a: 8100 0x8100
8100010c: 0010 0x10
8100010c: 0018 0x18
8100010e: 8100 0x8100
81000110: 0014 0x14
81000110: 001c 0x1c
81000112: 8100 0x8100
81000114: 0018 0x18
81000114: 0020 addi s0,sp,8
81000116: 8100 0x8100
81000118: 001c 0x1c
81000118: 0024 addi s1,sp,8
8100011a: 8100 0x8100
8100011c: 0020 addi s0,sp,8
8100011c: 0028 addi a0,sp,8
8100011e: 8100 0x8100
81000120: 0024 addi s1,sp,8
81000120: 002c addi a1,sp,8
81000122: 8100 0x8100
81000124: 0028 addi a0,sp,8
81000124: 0030 addi a2,sp,8
81000126: 8100 0x8100
81000128: 002c addi a1,sp,8
81000128: 0034 addi a3,sp,8
8100012a: 8100 0x8100
8100012c: 0030 addi a2,sp,8
8100012c: 0038 addi a4,sp,8
8100012e: 8100 0x8100
81000130: 0034 addi a3,sp,8
81000130: 003c addi a5,sp,8
81000132: 8100 0x8100
81000134: 0038 addi a4,sp,8
81000134 <hextoa>:
81000134: 0044 addi s1,sp,4
81000136: 8100 0x8100
81000138: 003c addi a5,sp,8
81000138: 0048 addi a0,sp,4
8100013a: 8100 0x8100
8100013c <hextoa>:
8100013c: 0044 addi s1,sp,4
8100013c: 004c addi a1,sp,4
8100013e: 8100 0x8100
81000140: 0048 addi a0,sp,4
81000140: 0050 addi a2,sp,4
81000142: 8100 0x8100
81000144: 004c addi a1,sp,4
81000144: 0054 addi a3,sp,4
81000146: 8100 0x8100
81000148: 0050 addi a2,sp,4
81000148: 0058 addi a4,sp,4
8100014a: 8100 0x8100
8100014c: 0054 addi a3,sp,4
8100014c: 005c addi a5,sp,4
8100014e: 8100 0x8100
81000150: 0058 addi a4,sp,4
81000150: 0060 addi s0,sp,12
81000152: 8100 0x8100
81000154: 005c addi a5,sp,4
81000154: 0064 addi s1,sp,12
81000156: 8100 0x8100
81000158: 0060 addi s0,sp,12
81000158: 0068 addi a0,sp,12
8100015a: 8100 0x8100
8100015c: 0064 addi s1,sp,12
8100015c: 006c addi a1,sp,12
8100015e: 8100 0x8100
81000160: 0068 addi a0,sp,12
81000160: 0070 addi a2,sp,12
81000162: 8100 0x8100
81000164: 006c addi a1,sp,12
81000164: 0074 addi a3,sp,12
81000166: 8100 0x8100
81000168: 0070 addi a2,sp,12
81000168: 0078 addi a4,sp,12
8100016a: 8100 0x8100
8100016c: 0074 addi a3,sp,12
8100016c: 007c addi a5,sp,12
8100016e: 8100 0x8100
81000170: 0078 addi a4,sp,12
81000170: 0080 addi s0,sp,64
81000172: 8100 0x8100
81000174: 007c addi a5,sp,12
81000174 <hextoa>:
81000174: 00b4 addi a3,sp,72
81000176: 8100 0x8100
81000178: 0080 addi s0,sp,64
81000178: 00b8 addi a4,sp,72
8100017a: 8100 0x8100
8100017c <hextoa>:
8100017c: 00b4 addi a3,sp,72
8100017c: 00bc addi a5,sp,72
8100017e: 8100 0x8100
81000180: 00b8 addi a4,sp,72
81000180: 00c0 addi s0,sp,68
81000182: 8100 0x8100
81000184: 00bc addi a5,sp,72
81000184: 00c4 addi s1,sp,68
81000186: 8100 0x8100
81000188: 00c0 addi s0,sp,68
81000188: 00c8 addi a0,sp,68
8100018a: 8100 0x8100
8100018c: 00c4 addi s1,sp,68
8100018c: 00cc addi a1,sp,68
8100018e: 8100 0x8100
81000190: 00c8 addi a0,sp,68
81000190: 00d0 addi a2,sp,68
81000192: 8100 0x8100
81000194: 00cc addi a1,sp,68
81000194: 00d4 addi a3,sp,68
81000196: 8100 0x8100
81000198: 00d0 addi a2,sp,68
81000198: 00d8 addi a4,sp,68
8100019a: 8100 0x8100
8100019c: 00d4 addi a3,sp,68
8100019c: 00dc addi a5,sp,68
8100019e: 8100 0x8100
810001a0: 00d8 addi a4,sp,68
810001a0: 00e0 addi s0,sp,76
810001a2: 8100 0x8100
810001a4: 00dc addi a5,sp,68
810001a4: 00e4 addi s1,sp,76
810001a6: 8100 0x8100
810001a8: 00e0 addi s0,sp,76
810001a8: 00e8 addi a0,sp,76
810001aa: 8100 0x8100
810001ac: 00e4 addi s1,sp,76
810001ac: 00ec addi a1,sp,76
810001ae: 8100 0x8100
810001b0: 00e8 addi a0,sp,76
810001b0: 00f0 addi a2,sp,76
810001b2: 8100 0x8100
810001b4: 00ec addi a1,sp,76
810001b6: 8100 0x8100
810001b8: 00f0 addi a2,sp,76
810001ba: 8100 0x8100
810001bc <x>:
810001b4 <x>:
810001b4: 0005 c.nop 1
810001b6: 0000 unimp
810001b8: 0005 c.nop 1
810001ba: 0000 unimp
810001bc: 0005 c.nop 1
810001be: 0000 unimp
810001c0: 0005 c.nop 1
810001c2: 0000 unimp
810001c4: 0005 c.nop 1
810001c4: 0006 c.slli zero,0x1
810001c6: 0000 unimp
810001c8: 0005 c.nop 1
810001c8: 0006 c.slli zero,0x1
810001ca: 0000 unimp
810001cc: 0006 c.slli zero,0x1
810001ce: 0000 unimp
810001d0: 0006 c.slli zero,0x1
810001d2: 0000 unimp
810001d4: 0006 c.slli zero,0x1
810001d6: 0000 unimp
810001d8: 0006 c.slli zero,0x1
810001da: 0000 unimp
810001d4: 00000007 0x7
810001d8: 00000007 0x7
810001dc: 00000007 0x7
810001e0: 00000007 0x7
810001e4: 00000007 0x7
810001e8: 00000007 0x7
810001e4: 0008 0x8
810001e6: 0000 unimp
810001e8: 0008 0x8
810001ea: 0000 unimp
810001ec: 0008 0x8
810001ee: 0000 unimp
810001f0: 0008 0x8
810001f2: 0000 unimp
810001f4: 0008 0x8
810001f6: 0000 unimp
810001f8: 0008 0x8
...
810001fc <y>:
810001f4 <y>:
810001f4: 0001 nop
810001f6: 0000 unimp
810001f8: 0001 nop
810001fa: 0000 unimp
810001fc: 0001 nop
810001fe: 0000 unimp
81000200: 0001 nop
@ -879,33 +819,29 @@ Disassembly of section .data:
8100022c: 0001 nop
8100022e: 0000 unimp
81000230: 0001 nop
81000232: 0000 unimp
81000234: 0001 nop
81000236: 0000 unimp
81000238: 0001 nop
...
Disassembly of section .bss:
8100023c <global_argument_struct>:
81000234 <global_argument_struct>:
81000234: 0000 unimp
...
81000238 <global_function_pointer>:
81000238: 0000 unimp
...
8100023c <global_num_threads>:
8100023c: 0000 unimp
...
81000240 <global_function_pointer>:
81000240: 0000 unimp
81000240 <arr>:
...
81000244 <global_num_threads>:
81000244: 0000 unimp
81000250 <wsapwn_arr>:
...
81000248 <arr>:
...
81000258 <wsapwn_arr>:
...
81000268 <z>:
81000260 <z>:
...
Disassembly of section .comment:

Binary file not shown.

View file

@ -18,7 +18,7 @@
:100100001301C10067800000B702010023A0B20004
:1001100067800000130101FE232E1100232C8100B3
:10012000130401022326A4FEB70700810327C4FE9F
:10013000131727009387C70FB307F70083A707009C
:10013000131727009387470FB307F70083A707001C
:1001400013850700EFF05FF9130000008320C10161
:10015000032481011301010267800000130101FEE5
:10016000232E1100232C8100130401022326A4FE58
@ -26,31 +26,31 @@
:10018000EFF05FF9B707008113850704EFF0DFF4A4
:10019000130000008320C101032481011301010227
:1001A00067800000130101FE232E1100232C810023
:1001B00013040102B707008183A7472413850700B2
:1001C000EFF09FEAB707008103A70724B707008174
:1001D00083A7C72313850700E7000700EFF0DFEAD6
:1001B00013040102B707008183A7C7231385070033
:1001C000EFF09FEAB707008103A78723B7070081F5
:1001D00083A7472313850700E7000700EFF0DFEA56
:1001E0002326A4FE8327C4FE6388070013050000AE
:1001F000EFF09FE76F00C00013051000EFF0DFE69F
:10020000130000008320C1010324810113010102B6
:1002100067800000130101FE232E1100232C8100B2
:10022000130401022326A4FE2324B4FE2322C4FEC9
:100230002320D4FEB7070081032744FE23A0E72430
:10024000B7070081032704FE23AEE722B70700812A
:10025000032784FE23A2E724B70700809387471A69
:100230002320D4FEB7070081032744FE23ACE72226
:10024000B7070081032704FE23AAE722B70700812E
:10025000032784FE23AEE722B70700809387471A5F
:10026000938507000325C4FEEFF09FDFEFF09FF3B7
:10027000130000008320C101032481011301010246
:1002800067800000130101FE232E1100232C810042
:1002900013040102B707008113854708EFF0DFE37D
:1002A00013054000EFF05FDCEFF09FDE2326A4FE95
:1002B0000327C4FEB70700818326C4FE9396260059
:1002C00093878724B387F60023A0E7001305100067
:1002D000EFF09FD9B707008183A787241385070014
:1002C00093870724B387F60023A0E70013051000E7
:1002D000EFF09FD9B707008183A707241385070094
:1002E000EFF05FE3B707008113850709EFF0DFDE6A
:1002F000B70700819387872483A7470013850700EA
:1002F000B70700819387072483A74700138507006A
:10030000EFF05FE1B707008113850709EFF0DFDC4D
:10031000B70700819387872483A787001385070089
:10031000B70700819387072483A787001385070009
:10032000EFF05FDFB707008113850709EFF0DFDA31
:10033000B70700819387872483A7C7001385070029
:10033000B70700819387072483A7C70013850700A9
:10034000EFF05FDDB707008113850709EFF0DFD815
:10035000130000008320C101032481011301010265
:1003600067800000130101FE232E1100232C810061
@ -59,40 +59,40 @@
:10039000EFF09FCE8347B4FE638407068327C4FE35
:1003A00093B717002305F4FE8347A4FE13850700C7
:1003B000EFF09FCC8347A4FE63820702B70700815A
:1003C0000327C4FE1317270093878724B307F7007A
:1003C0000327C4FE1317270093870724B307F700FA
:1003D0001307A00023A0E7006F000002B707008109
:1003E0000327C4FE1317270093878724B307F7005A
:1003E0000327C4FE1317270093870724B307F700DA
:1003F0001307B00023A0E700EFF09FC86F0040068E
:100400008327C4FE93B73700A304F4FE834794FE0A
:1004100013850700EFF05FC6834794FE63820702EF
:10042000B70700810327C4FE13172700938787248B
:10042000B70700810327C4FE13172700938707240B
:10043000B307F7001307C00023A0E7006F00000216
:10044000B70700810327C4FE13172700938787246B
:10044000B70700810327C4FE1317270093870724EB
:10045000B307F7001307D00023A0E700EFF05FC257
:10046000EFF01FC2B707008183A787241385070019
:10046000EFF01FC2B707008183A707241385070099
:10047000EFF05FCAB707008113850709EFF0DFC50A
:10048000B70700819387872483A747001385070058
:10048000B70700819387072483A7470013850700D8
:10049000EFF05FC8B707008113850709EFF0DFC3EE
:1004A000B70700819387872483A7870013850700F8
:1004A000B70700819387072483A787001385070078
:1004B000EFF05FC6B707008113850709EFF0DFC1D2
:1004C000B70700819387872483A7C7001385070098
:1004C000B70700819387072483A7C7001385070018
:1004D000EFF05FC4B707008113850709EFF0DFBFB6
:1004E000130000008320C1010324810113010102D4
:1004F00067800000130101FE232E1100232C8100D0
:1005000013040102EFF05FB82326A4FEB7070081B1
:100510000327C4FE1317270093878725B307F70027
:100510000327C4FE1317270093870725B307F700A7
:100520000327C4FE23A0E7008327C4FE63860700D9
:1005300013050000EFF05FB3130000008320C1013A
:10054000032481011301010267800000130101FEF1
:10055000232E1100232C810013040102B707008011
:100560009387474F2326F4FE8325C4FE13054000DE
:10057000EFF01FAFEFF01FF8B707008183A78725C3
:10057000EFF01FAFEFF01FF8B707008183A7072543
:1005800013850700EFF01FB9B7070081138507092E
:10059000EFF09FB4B70700819387872583A74700B3
:10059000EFF09FB4B70700819387072583A7470033
:1005A00013850700EFF01FB7B70700811385070910
:1005B000EFF09FB2B70700819387872583A7870055
:1005B000EFF09FB2B70700819387072583A78700D5
:1005C00013850700EFF01FB5B707008113850709F2
:1005D000EFF09FB0B70700819387872583A7C700F7
:1005D000EFF09FB0B70700819387072583A7C70077
:1005E00013850700EFF01FB3B707008113850709D4
:1005F000EFF09FAE130000008320C10103248101AE
:100600001301010267800000130101FF232611007E
@ -116,25 +116,10 @@
:10072000B307F70003A707008327C4FE03A68700CB
:100730008327C4FD93972700B307F6003387E600AD
:1007400023A0E700EFF0DF93130000008320C10334
:10075000032481031301010467800000130101FCDD
:10076000232E1102232C810213040104130510000F
:10077000EFF09F8FB70700819387C71B2324F4FCFA
:10078000B70700819387C71F2326F4FCB7070081B2
:10079000938787262328F4FC93074000232AF4FC40
:1007A00093074000232CF4FC930740002322F4FE1F
:1007B000930740002320F4FE032744FE832504FE14
:1007C000930784FC93860700B707008013860766AB
:1007D00013050700EFF01FA4232604FE6F00000896
:1007E000232404FE6F004005032744FD8327C4FE35
:1007F0003307F702832784FEB307F700232EF4FCA8
:10080000B70700810327C4FD1317270093878726A6
:10081000B307F70083A7070013850700EFF09F8F4A
:10082000B70700811385470FEFF01F8B832784FEE6
:10083000938717002324F4FE032744FD832784FEB7
:10084000E3E4E7FAB70700811385870FEFF0DF884D
:100850008327C4FE938717002326F4FE032784FD15
:100860008327C4FEE3EEE7F6930700001385070035
:100870008320C10303248103130101046780000066
:10075000032481031301010467800000130101FFDA
:100760002326110023248100130401011305100026
:10077000EFF09F8FEFF05FE993070000138507000C
:100780008320C10003248100130101016780000060
:02000004810079
:10000000300000003100000032000000330000002A
:10001000340000003500000036000000370000000A
@ -151,26 +136,26 @@
:1000C000330000003400000035000000360000005E
:1000D0003700000038000000390000006100000017
:1000E0006200000063000000640000006500000082
:0A00F00066000000200000000A0076
:1000FC000000008104000081080000810C000081D8
:10010C001000008114000081180000811C00008187
:10011C002000008124000081280000812C00008137
:10012C003000008134000081380000813C000081E7
:10013C0044000081480000814C0000815000008187
:10014C0054000081580000815C0000816000008137
:10015C0064000081680000816C00008170000081E7
:10016C0074000081780000817C0000818000008197
:10017C00B4000081B8000081BC000081C000008187
:10018C00C4000081C8000081CC000081D000008137
:10019C00D4000081D8000081DC000081E0000081E7
:1001AC00E4000081E8000081EC000081F000008197
:1001BC00050000000500000005000000050000001F
:1001CC00060000000600000006000000060000000B
:1001DC0007000000070000000700000007000000F7
:1001EC0008000000080000000800000008000000E3
:1001FC0001000000010000000100000001000000EF
:10020C0001000000010000000100000001000000DE
:10021C0001000000010000000100000001000000CE
:10022C0001000000010000000100000001000000BE
:0200F0006600A8
:1000F4000000008104000081080000810C000081E0
:100104001000008114000081180000811C0000818F
:100114002000008124000081280000812C0000813F
:100124003000008134000081380000813C000081EF
:1001340044000081480000814C000081500000818F
:1001440054000081580000815C000081600000813F
:1001540064000081680000816C00008170000081EF
:1001640074000081780000817C000081800000819F
:10017400B4000081B8000081BC000081C00000818F
:10018400C4000081C8000081CC000081D00000813F
:10019400D4000081D8000081DC000081E0000081EF
:1001A400E4000081E8000081EC000081F00000819F
:1001B4000500000005000000050000000500000027
:1001C4000600000006000000060000000600000013
:1001D40007000000070000000700000007000000FF
:1001E40008000000080000000800000008000000EB
:1001F40001000000010000000100000001000000F7
:1002040001000000010000000100000001000000E6
:1002140001000000010000000100000001000000D6
:1002240001000000010000000100000001000000C6
:040000058000000077
:00000001FF

View file

@ -54,33 +54,33 @@ int main()
///////////////////////////////////////////////////////////////////////
mat_add_args_t arguments;
arguments.x = x;
arguments.y = y;
arguments.z = z;
arguments.numColums = 4;
arguments.numRows = 4;
// mat_add_args_t arguments;
// arguments.x = x;
// arguments.y = y;
// arguments.z = z;
// arguments.numColums = 4;
// arguments.numRows = 4;
int numWarps = 4;
int numThreads = 4;
// int numWarps = 4;
// int numThreads = 4;
vx_spawnWarps(numWarps, numThreads, mat_add_kernel, &arguments);
// vx_spawnWarps(numWarps, numThreads, mat_add_kernel, &arguments);
for (int i = 0; i < arguments.numRows; i++)
{
for (int j = 0; j < arguments.numColums; j++)
{
unsigned index = (i * arguments.numColums) + j;
vx_print_hex(z[index]);
vx_print_str(" ");
}
vx_print_str("\n");
}
// for (int i = 0; i < arguments.numRows; i++)
// {
// for (int j = 0; j < arguments.numColums; j++)
// {
// unsigned index = (i * arguments.numColums) + j;
// vx_print_hex(z[index]);
// vx_print_str(" ");
// }
// vx_print_str("\n");
// }
///////////////////////////////////////////////////////////////////////
// intrinsics_tests();
intrinsics_tests();
///////////////////////////////////////////////////////////////////////