qemu-e2k/tests/tcg/hexagon/test_call.S
Niccolò Izzo 585a86b104 target/hexagon: import additional tests
Signed-off-by: Alessandro Di Federico <ale@rev.ng>
Signed-off-by: Niccolò Izzo <nizzo@rev.ng>
Signed-off-by: Anton Johansson <anjo@rev.ng>
Signed-off-by: Taylor Simpson <tsimpson@quicinc.com>
Reviewed-by: Taylor Simpson <tsimpson@quicinc.com>
Message-Id: <20220923173831.227551-12-anjo@rev.ng>
2022-12-16 12:30:28 -08:00

65 lines
1.0 KiB
ArmAsm

/*
* Purpose: test function calls and duplex instructions.
* The string "Hello there, I'm a test string!" with the first letter replaced
* with a capital L should be printed out.
*/
#define SYS_write 64
#define FD_STDOUT 1
.text
.globl test
test:
{
jumpr r31
memb(r0+#0) = #76
}
.Lfunc_end0:
.Ltmp0:
.size test, .Ltmp0-test
.globl _start
_start:
{
r0 = ##dummy_buffer
allocframe(#0)
call test
}
{
call write
}
{
deallocframe
jump pass
}
.Lfunc_end1:
.Ltmp1:
.size _start, .Ltmp1-_start
write:
{
r6 = #SYS_write
r0 = #FD_STDOUT
r1 = ##dummy_buffer
r2 = #33
}
{
trap0(#1)
}
{
jumpr r31
}
.Lfunc_end2:
.Ltmp2:
.size write, .Ltmp2-write
.type dummy_buffer,@object
.data
.globl dummy_buffer
.p2align 3
dummy_buffer:
.string "Hello there, I'm a test string!\n"
.space 223
.size dummy_buffer, 256