Project

General

Profile

Bug #9171 ยป 2log2.txt

Alexander Protsenko, 07/27/2018 04:03 PM

 

C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\src\main\arch\riscv\templates>C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target\bin\generate.bat riscv isa_tests/rv64uf/fmadd.rb --code-file-prefix isa_tests/rv64uf/madd --code-file-extension s -v --ri RV64FULL

C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\src\main\arch\riscv\templates>java -ea -jar "C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target/lib/jars/microtesk.jar" -g riscv isa_tests/rv64uf/fmadd.rb --code-file-prefix isa_tests/rv64uf/madd --code-file-extension s -v --ri RV64FULL
Home: C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\build\target
Current directory: C:\!microtesk\MicroTESK-RISC-V\microtesk-riscv\microtesk-riscv\src\main\arch\riscv\templates
Model name: riscv
Template file: isa_tests/rv64uf/fmadd.rb
Loaded template RiscVBaseTemplate defined in C:/!microtesk/MicroTESK-RISC-V/microtesk-riscv/microtesk-riscv/src/main/arch/riscv/templates/riscv_base.rb
Loaded template FmaddTemplate defined in C:/!microtesk/MicroTESK-RISC-V/microtesk-riscv/microtesk-riscv/src/main/arch/riscv/templates/isa_tests/rv64uf/fmadd.rb
Processing template FmaddTemplate defined in C:/!microtesk/MicroTESK-RISC-V/microtesk-riscv/microtesk-riscv/src/main/arch/riscv/templates/isa_tests/rv64uf/fmadd.rb...
Instance number: 1

----------------------- Initializing Processing Elements -----------------------

The "instantiate" operation is undefined.
Warning: Failed to load the MMU model. Physical memory will be accessed directly.

------------------------- Started Processing Template --------------------------


------------------ Started Processing Initialization Section -------------------


------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022000

.align 4
.globl begin_signature
begin_signature:

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022000

.align 4
.globl end_signature
end_signature:

------------------- Ended Processing Initialization Section --------------------


------------------- Started Processing Finalization Section --------------------


-------------------- Ended Processing Finalization Section ---------------------


----------------------- Started Processing Main Section ------------------------


------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022000

.align 2
test_2_data:
0x0000000080022000 (PA): .float 1.0
0x0000000080022004 (PA): .float 2.5
0x0000000080022008 (PA): .float 1.0
0x000000008002200c (PA): .float 3.5

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022010

.align 2
test_3_data:
0x0000000080022010 (PA): .float -1.0
0x0000000080022014 (PA): .float -1235.1
0x0000000080022018 (PA): .float 1.1
0x000000008002201c (PA): .float 1236.2

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022020

.align 2
test_4_data:
0x0000000080022020 (PA): .float 2.0
0x0000000080022024 (PA): .float -5.0
0x0000000080022028 (PA): .float -2.0
0x000000008002202c (PA): .float -12.0

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022030

.align 2
test_5_data:
0x0000000080022030 (PA): .float 1.0
0x0000000080022034 (PA): .float 2.5
0x0000000080022038 (PA): .float 1.0
0x000000008002203c (PA): .float -3.5

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022040

.align 2
test_6_data:
0x0000000080022040 (PA): .float -1.0
0x0000000080022044 (PA): .float -1235.1
0x0000000080022048 (PA): .float 1.1
0x000000008002204c (PA): .float -1236.2

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022050

.align 2
test_7_data:
0x0000000080022050 (PA): .float 2.0
0x0000000080022054 (PA): .float -5.0
0x0000000080022058 (PA): .float -2.0
0x000000008002205c (PA): .float 12.0

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022060

.align 2
test_8_data:
0x0000000080022060 (PA): .float 1.0
0x0000000080022064 (PA): .float 2.5
0x0000000080022068 (PA): .float 1.0
0x000000008002206c (PA): .float 1.5

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022070

.align 2
test_9_data:
0x0000000080022070 (PA): .float -1.0
0x0000000080022074 (PA): .float -1235.1
0x0000000080022078 (PA): .float 1.1
0x000000008002207c (PA): .float 0f:000004D2

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022080

.align 2
test_10_data:
0x0000000080022080 (PA): .float 2.0
0x0000000080022084 (PA): .float -5.0
0x0000000080022088 (PA): .float -2.0
0x000000008002208c (PA): .float -8.0

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x0000000080022090

.align 2
test_11_data:
0x0000000080022090 (PA): .float 1.0
0x0000000080022094 (PA): .float 2.5
0x0000000080022098 (PA): .float 1.0
0x000000008002209c (PA): .float -1.5

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x00000000800220a0

.align 2
test_12_data:
0x00000000800220a0 (PA): .float -1.0
0x00000000800220a4 (PA): .float -1235.1
0x00000000800220a8 (PA): .float 1.1
0x00000000800220ac (PA): .float 0f:FFFFFB2E

------------------------------- Allocating data --------------------------------

Section: .data [pa=0x0000000080022000, va=0x0000000080022000]
Allocation starts: 0x00000000800220b0

.align 2
test_13_data:
0x00000000800220b0 (PA): .float 2.0
0x00000000800220b4 (PA): .float -5.0
0x00000000800220b8 (PA): .float -2.0
0x00000000800220bc (PA): .float 8.0

------------------- Constructed Prologue (riscv_test.rb:231) -------------------

.section .text.init
.align 6
.weak stvec_handler
.weak mtvec_handler
.globl _start
_start:
j reset_vector
.align 2
trap_vector:
csrr t5, mcause
li t6, 0x8
beq t5, t6, write_tohost
li t6, 0x9
beq t5, t6, write_tohost
li t6, 0xb
beq t5, t6, write_tohost
la t5, mtvec_handler
beqz t5, 1f
jr t5
1:
csrr t5, mcause
bgez t5, handle_exception
j other_exception
handle_exception:
other_exception:
1:
ori gp, gp, 1337
write_tohost:
nop
nop
j write_tohost
reset_vector:
csrr a0, mhartid
1:
bnez a0, 1b
la t0, 1f
csrw mtvec, t0
csrwi satp, 0x0
.align 2
1:
la t0, 1f
csrw mtvec, t0
li t0, 0xffffffffffffffff
csrw pmpaddr0, t0
li t0, 0x1f
csrw pmpcfg0, t0
.align 2
1:
la t0, 1f
csrw mtvec, t0
csrwi medeleg, 0x0
csrwi mideleg, 0x0
csrwi mie, 0x0
.align 2
1:
li gp, 0x0
la t0, trap_vector
csrw mtvec, t0
li a0, 0x1
slli a0, a0, 0x1f
bgez a0, 1f
fence
li gp, 0x1
ecall
1:
la t0, stvec_handler
beqz t0, 1f
csrw stvec, t0
li t0, 0xb109
csrw medeleg, t0
csrr t1, medeleg
bne t0, t1, other_exception
1:
csrwi mstatus, 0x0
# RVTEST_FP_ENABLE
li a0, 0x2000
csrs mstatus, a0
csrwi fcsr, 0x0
la t0, 1f
csrw mepc, t0
csrr a0, mhartid
mret
1:

------------------------------- Allocating code --------------------------------

Section: .section .text.init [pa=0x0000000080000000, va=0x0000000080000000]


------------- Constructed External Code (riscv_test_macros.rb:491) -------------

test_2:
li gp, 0x2
la a0, test_2_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fmadd.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x0
bne a0, a3, fail
bne a1, a2, fail
test_3:
li gp, 0x3
la a0, test_3_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fmadd.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x1
bne a0, a3, fail
bne a1, a2, fail
test_4:
li gp, 0x4
la a0, test_4_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fmadd.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x0
bne a0, a3, fail
bne a1, a2, fail
test_5:
li gp, 0x5
la a0, test_5_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fnmadd.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x0
bne a0, a3, fail
bne a1, a2, fail
test_6:
li gp, 0x6
la a0, test_6_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fnmadd.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x1
bne a0, a3, fail
bne a1, a2, fail
test_7:
li gp, 0x7
la a0, test_7_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fnmadd.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x0
bne a0, a3, fail
bne a1, a2, fail
test_8:
li gp, 0x8
la a0, test_8_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fmsub.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x0
bne a0, a3, fail
bne a1, a2, fail
test_9:
li gp, 0x9
la a0, test_9_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fmsub.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x1
bne a0, a3, fail
bne a1, a2, fail
test_10:
li gp, 0xa
la a0, test_10_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fmsub.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x0
bne a0, a3, fail
bne a1, a2, fail
test_11:
li gp, 0xb
la a0, test_11_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fnmsub.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x0
bne a0, a3, fail
bne a1, a2, fail
test_12:
li gp, 0xc
la a0, test_12_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fnmsub.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x1
bne a0, a3, fail
bne a1, a2, fail
test_13:
li gp, 0xd
la a0, test_13_data
flw ft0, 0(a0)
flw ft1, 4(a0)
flw ft2, 8(a0)
lw a3, 12(a0)
fnmsub.s ft3, ft0, ft1, ft2
fmv.x.s a0, ft3
fsflags a1, zero
li a2, 0x0
bne a0, a3, fail
bne a1, a2, fail

------------------------------- Allocating code --------------------------------

Section: .section .text.init [pa=0x0000000080000000, va=0x0000000080000000]


------------------------ Ended Processing Main Section -------------------------


------------- Running Execution from Prologue (riscv_test.rb:231) --------------


---------------------------------- Instance 0 ----------------------------------

Execution status: 0x0000000080000000

.align 6
.weak stvec_handler
.weak mtvec_handler
_start:
0x0000000080000000 j reset_vector
Jump to 0x000000008000004c
reset_vector:
0x000000008000004c csrr a0, mhartid
1:
0x0000000080000050 bnez a0, 1b
0x0000000080000054 la t0, 1f
0x000000008000005c csrw mtvec, t0
0x0000000080000060 csrwi satp, 0x0
.align 2
1:
0x0000000080000064 la t0, 1f
0x000000008000006c csrw mtvec, t0
0x0000000080000070 li t0, 0xffffffffffffffff
0x0000000080000074 csrw pmpaddr0, t0
0x0000000080000078 li t0, 0x1f
0x000000008000007c csrw pmpcfg0, t0
.align 2
1:
0x0000000080000080 la t0, 1f
0x0000000080000088 csrw mtvec, t0
0x000000008000008c csrwi medeleg, 0x0
0x0000000080000090 csrwi mideleg, 0x0
0x0000000080000094 csrwi mie, 0x0
.align 2
1:
0x0000000080000098 li gp, 0x0
0x000000008000009c la t0, trap_vector
0x00000000800000a4 csrw mtvec, t0
0x00000000800000a8 li a0, 0x1
0x00000000800000ac slli a0, a0, 0x1f
0x00000000800000b0 bgez a0, 1f
Jump to 0x00000000800000c0
1:
0x00000000800000c0 la t0, stvec_handler
0x00000000800000c8 beqz t0, 1f
Jump to 0x00000000800000e4
1:
0x00000000800000e4 csrwi mstatus, 0x0
0x00000000800000e8 li a0, 0x2000
0x00000000800000f0 csrs mstatus, a0
0x00000000800000f4 csrwi fcsr, 0x0
0x00000000800000f8 la t0, 1f
0x0000000080000100 csrw mepc, t0
0x0000000080000104 csrr a0, mhartid
0x0000000080000108 mret
1:
test_2:
0x000000008000010c li gp, 0x2
0x0000000080000110 la a0, test_2_data
0x0000000080000118 flw ft0, 0(a0)
0x000000008000011c flw ft1, 4(a0)
0x0000000080000120 flw ft2, 8(a0)
0x0000000080000124 lw a3, 12(a0)
0x0000000080000128 fmadd.s ft3, ft0, ft1, ft2
0x000000008000012c fmv.x.s a0, ft3
0x0000000080000130 fsflags a1, zero
0x0000000080000134 li a2, 0x0
Reference to undefined label fail:
Check: a0(0x0000000040600000) == a3(0x0000000040600000)
0x0000000080000138 bne a0, a3, fail
Call is not executed. Simulation is paused until the label is allocated.

--------------- Constructed Epilogue (riscv_test_macros.rb:870) ----------------

bne zero, gp, pass
fail:
fence
1:
beqz gp, 1b
sll gp, gp, ra
or gp, gp, ra
ecall
pass:
fence
li gp, 0x1
ecall
unimp

------------------------------- Allocating code --------------------------------

Section: .section .text.init [pa=0x0000000080000000, va=0x0000000080000000]


---------- Running Execution from Epilogue (riscv_test_macros.rb:870) ----------


---------------------------------- Instance 0 ----------------------------------

Execution status: 0x0000000080000138 (waiting for label fail)

Check: a0(0x0000000040600000) == a3(0x0000000040600000)
0x0000000080000138 bne a0, a3, fail
Check: a1(0x0000000000000000) == a2(0x0000000000000000)
0x000000008000013c bne a1, a2, fail
test_3:
0x0000000080000140 li gp, 0x3
0x0000000080000144 la a0, test_3_data
0x000000008000014c flw ft0, 0(a0)
0x0000000080000150 flw ft1, 4(a0)
0x0000000080000154 flw ft2, 8(a0)
0x0000000080000158 lw a3, 12(a0)
0x000000008000015c fmadd.s ft3, ft0, ft1, ft2
0x0000000080000160 fmv.x.s a0, ft3
0x0000000080000164 fsflags a1, zero
0x0000000080000168 li a2, 0x1
Check: a0(0x00000000449a8666) == a3(0x00000000449a8666)
0x000000008000016c bne a0, a3, fail
Check: a1(0x0000000000000001) == a2(0x0000000000000001)
0x0000000080000170 bne a1, a2, fail
test_4:
0x0000000080000174 li gp, 0x4
0x0000000080000178 la a0, test_4_data
0x0000000080000180 flw ft0, 0(a0)
0x0000000080000184 flw ft1, 4(a0)
0x0000000080000188 flw ft2, 8(a0)
0x000000008000018c lw a3, 12(a0)
0x0000000080000190 fmadd.s ft3, ft0, ft1, ft2
0x0000000080000194 fmv.x.s a0, ft3
0x0000000080000198 fsflags a1, zero
0x000000008000019c li a2, 0x0
Check: a0(0xffffffffc1400000) == a3(0xffffffffc1400000)
0x00000000800001a0 bne a0, a3, fail
Check: a1(0x0000000000000000) == a2(0x0000000000000000)
0x00000000800001a4 bne a1, a2, fail
test_5:
0x00000000800001a8 li gp, 0x5
0x00000000800001ac la a0, test_5_data
0x00000000800001b4 flw ft0, 0(a0)
0x00000000800001b8 flw ft1, 4(a0)
0x00000000800001bc flw ft2, 8(a0)
0x00000000800001c0 lw a3, 12(a0)
0x00000000800001c4 fnmadd.s ft3, ft0, ft1, ft2
0x00000000800001c8 fmv.x.s a0, ft3
0x00000000800001cc fsflags a1, zero
0x00000000800001d0 li a2, 0x0
Check: a0(0xffffffffc0600000) == a3(0xffffffffc0600000)
0x00000000800001d4 bne a0, a3, fail
Check: a1(0x0000000000000000) == a2(0x0000000000000000)
0x00000000800001d8 bne a1, a2, fail
test_6:
0x00000000800001dc li gp, 0x6
0x00000000800001e0 la a0, test_6_data
0x00000000800001e8 flw ft0, 0(a0)
0x00000000800001ec flw ft1, 4(a0)
0x00000000800001f0 flw ft2, 8(a0)
0x00000000800001f4 lw a3, 12(a0)
0x00000000800001f8 fnmadd.s ft3, ft0, ft1, ft2
0x00000000800001fc fmv.x.s a0, ft3
0x0000000080000200 fsflags a1, zero
0x0000000080000204 li a2, 0x1
Check: a0(0xffffffffc49a8666) == a3(0xffffffffc49a8666)
0x0000000080000208 bne a0, a3, fail
Check: a1(0x0000000000000001) == a2(0x0000000000000001)
0x000000008000020c bne a1, a2, fail
test_7:
0x0000000080000210 li gp, 0x7
0x0000000080000214 la a0, test_7_data
0x000000008000021c flw ft0, 0(a0)
0x0000000080000220 flw ft1, 4(a0)
0x0000000080000224 flw ft2, 8(a0)
0x0000000080000228 lw a3, 12(a0)
0x000000008000022c fnmadd.s ft3, ft0, ft1, ft2
0x0000000080000230 fmv.x.s a0, ft3
0x0000000080000234 fsflags a1, zero
0x0000000080000238 li a2, 0x0
Check: a0(0x0000000041400000) == a3(0x0000000041400000)
0x000000008000023c bne a0, a3, fail
Check: a1(0x0000000000000000) == a2(0x0000000000000000)
0x0000000080000240 bne a1, a2, fail
test_8:
0x0000000080000244 li gp, 0x8
0x0000000080000248 la a0, test_8_data
0x0000000080000250 flw ft0, 0(a0)
0x0000000080000254 flw ft1, 4(a0)
0x0000000080000258 flw ft2, 8(a0)
0x000000008000025c lw a3, 12(a0)
0x0000000080000260 fmsub.s ft3, ft0, ft1, ft2
0x0000000080000264 fmv.x.s a0, ft3
0x0000000080000268 fsflags a1, zero
0x000000008000026c li a2, 0x0
Check: a0(0x000000003fc00000) == a3(0x000000003fc00000)
0x0000000080000270 bne a0, a3, fail
Check: a1(0x0000000000000000) == a2(0x0000000000000000)
0x0000000080000274 bne a1, a2, fail
test_9:
0x0000000080000278 li gp, 0x9
0x000000008000027c la a0, test_9_data
0x0000000080000284 flw ft0, 0(a0)
0x0000000080000288 flw ft1, 4(a0)
0x000000008000028c flw ft2, 8(a0)
0x0000000080000290 lw a3, 12(a0)
0x0000000080000294 fmsub.s ft3, ft0, ft1, ft2
0x0000000080000298 fmv.x.s a0, ft3
0x000000008000029c fsflags a1, zero
0x00000000800002a0 li a2, 0x1
Check: a0(0x00000000449a4000) == a3(0x00000000000004d2)
0x00000000800002a4 bne a0, a3, fail
Jump to 0x0000000080000380
Error: Test failed (self check did not pass)!
fail:
0x0000000080000380 fence
1:
0x0000000080000384 beqz gp, 1b
0x0000000080000388 sll gp, gp, ra
0x000000008000038c or gp, gp, ra
0x0000000080000390 ecall
pass:
0x0000000080000394 fence
0x0000000080000398 li gp, 0x1
0x000000008000039c ecall
0x00000000800003a0 unimp
Allocated entries: []

--------------------- Printing test program to madd_0000.s ---------------------


-------------------------- Ended Processing Template ---------------------------


-------------- Printing linker script to isa_tests/rv64uf/madd.ld --------------

Generation Statistics
Generation time: 0.530 seconds
Generation rate: 400 instructions/second
Programs/stimuli/instructions: 1/0/212
    (1-1/1)