Submission Date: 2024/9/12 0:50:53
Status:
Accepted
Author: MoSooN
Lines: 8
VSM
imm ui"0xFF00FF00" $r0v
imm ui"0x00FF00FF" $r8v
imm i"8" $s16v
ibsl $m0v $aluf $nowrite
iand $aluf $r8v $n[1,0,3,4]
ibsr $m0v $s16v $nowrite
iand $aluf $r0v $nowrite
ior $aluf $n[1,0,3,4] $n[1,0,3,4] #自分に書き込める
#L1B並列 PE並列 PEで並列計算はしなくて良い
# imm i"4" $ls0v #8ずつ計算 アドレスは8長語 = 16おき
# llsl $mabid $aluf $llt
# nop
# dvmulu $lmt0v $lmt0v $nowrite
# dvfmad $lmt0v $lmt0v $mauf $ls32v
# dvmulu $lmt8v $lmt8v $nowrite
# dvfmad $lmt8v $lmt8v $mauf $nowrite
# dvadd $mauf $ls32v $lr0v
# nop
# l1bmrdfadd $lr0v $lb0
# l1bmm $lbi $lr0v
# nop
# lpassa $lr0 $nowrite
# dvadd $aluf $lr2 $nowrite
# dvadd $mauf $lr4 $nowrite
# dvadd $mauf $lr6 $ln0
# ## PE独立のためこれはいらない
#
# llsl $subpeid $ls32v $llt
# lpassa $ls8v $nowrite
# dvadd $ls0v $aluf $lr0v
# nop
# lpassa $lr0 $nowrite
# dvadd $aluf $lr2 $nowrite
# dvadd $mauf $lr4 $nowrite
# dvadd $mauf $lr6 $ls8
#
# msl $mauf $nowrite
# nop
# dvadd $aluf $ls8 $lr12
# msl $mauf $nowrite
# msl $aluf $nowrite
# dvadd $aluf $lr12 $ln0
Standard Output
ACCEPTED!! score=8 j=8 m=0 bytes=199
Standard Error
------------------- vsm --------------------
# ======= In(0): ((4_PE:1))@LM0 / ULong =======
d set $lm0p0 1 5FE1DC66CBEA3DB3 # values=[6909045637428952499] / ULong @[0]
d set $lm0p1 1 F362035C2EF5950E # values=[17537583593393853710] / ULong @[1]
d set $lm0p2 1 BB63F46AC799D447 # values=[13502904847239337031] / ULong @[2]
d set $lm0p3 1 9941AEBC98CB2C14 # values=[11043299886329703444] / ULong @[3]
imm ui"0xFF00FF00" $r0v
imm ui"0x00FF00FF" $r8v
imm i"8" $s16v
ibsl $m0v $aluf $nowrite
iand $aluf $r8v $n[1,0,3,4]
ibsr $m0v $s16v $nowrite
iand $aluf $r0v $nowrite
ior $aluf $n[1,0,3,4] $n[1,0,3,4] #自分に書き込める
#L1B並列 PE並列 PEで並列計算はしなくて良い
# imm i"4" $ls0v #8ずつ計算 アドレスは8長語 = 16おき
# llsl $mabid $aluf $llt
# nop
# dvmulu $lmt0v $lmt0v $nowrite
# dvfmad $lmt0v $lmt0v $mauf $ls32v
# dvmulu $lmt8v $lmt8v $nowrite
# dvfmad $lmt8v $lmt8v $mauf $nowrite
# dvadd $mauf $ls32v $lr0v
# nop
# l1bmrdfadd $lr0v $lb0
# l1bmm $lbi $lr0v
# nop
# lpassa $lr0 $nowrite
# dvadd $aluf $lr2 $nowrite
# dvadd $mauf $lr4 $nowrite
# dvadd $mauf $lr6 $ln0
# ## PE独立のためこれはいらない
#
# llsl $subpeid $ls32v $llt
# lpassa $ls8v $nowrite
# dvadd $ls0v $aluf $lr0v
# nop
# lpassa $lr0 $nowrite
# dvadd $aluf $lr2 $nowrite
# dvadd $mauf $lr4 $nowrite
# dvadd $mauf $lr6 $ls8
#
# msl $mauf $nowrite
# nop
# dvadd $aluf $ls8 $lr12
# msl $mauf $nowrite
# msl $aluf $nowrite
# dvadd $aluf $lr12 $ln0
# ======= Out(0): ((4_PE:1))@LM1 / ULong =======
d getd $ln0n0c0b0m0p0 1 # expect=[12915737465693462879] / ULong @[0]
d getd $ln0n0c0b0m0p1 1 # expect=[1051015667521905395] / ULong @[1]
d getd $ln0n0c0b0m0p2 1 # expect=[5175930953527485371] / ULong @[2]
d getd $ln0n0c0b0m0p3 1 # expect=[1453760636594831769] / ULong @[3]
------------------- asm --------------------
j 010000000000000000000000010100000000000010000000000000000000000100000000000000111100000000001111000000000000000000000000000000000000000011111111111111110111111000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000001000000000000000000000000000111100000000000000000000000000010000000000000000000000000000111100000000000000000000000000011000000000000000000000000000111100000000000000000000
j 010000000000000000000000010100000100000010000000000000000000000100000000000111000011111111110000000000000000000000000000000000000000000011111111100111110000000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000001001000000000000000000000000000000011111111000000000000000001010000000000000000000000000000000011111111000000000000000001011000000000000000000000000000000011111111000000000000
j 010000000000000000000000000000000000001010000000001010000100000000000000000000000000001000000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000010001000000000000000001000000000000000000000000000000000000010010000000000000000001000000000000000000000000000000000000010011000000000000000001000000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111101011010000011110000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000011000000000000
j 010000000000000000000000000000000000001000000010000000000000000100000000000000000000000000000000101000000000001000000000000000000000000011111111101001010001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000001001000000000000000000000000000000000000000000000000000000001010000000000000000000000000000000000000000011000000000000001011000000000000000000000000000000000000000100
j 010000000000000000000000000000000000001010000000000000000000000100000010000000000000000000000000000000000000000000000000000000000000000011111111101011100000011001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000010001000000000001000000000000000000000000000000000000000000010010000000000010000000000000000000000000000000000000000000010011000000000011000000000000
j 010000000000000000000000000000000000001000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111101001010001100000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000001000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000
j 010000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000101000000000001000000000000000000000000011111111101001100001100100000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000100
------------------- emu --------------------
DEBUG-LM1(n0c0b0m0p0,0):(-7.27246e-62) (0xb33deacb66dce15f) #d getd $ln0n0c0b0m0p0 1 # expect=[12915737465693462879] / ULong @[0]
DEBUG-LM1(n0c0b0m0p1,0):(2.10752e-238) (0x0e95f52e5c0362f3) #d getd $ln0n0c0b0m0p1 1 # expect=[1051015667521905395] / ULong @[1]
DEBUG-LM1(n0c0b0m0p2,0):(1.09532e+38) (0x47d499c76af463bb) #d getd $ln0n0c0b0m0p2 1 # expect=[5175930953527485371] / ULong @[2]
DEBUG-LM1(n0c0b0m0p3,0):(1.7107e-211) (0x142ccb98bcae4199) #d getd $ln0n0c0b0m0p3 1 # expect=[1453760636594831769] / ULong @[3]
------------------- inputs --------------------
[ 6909045637428952499, 17537583593393853710, 13502904847239337031,
11043299886329703444]
------------------- expect --------------------
[12915737465693462879, 1051015667521905395, 5175930953527485371,
1453760636594831769]
------------------- actual --------------------
[12915737465693462879, 1051015667521905395, 5175930953527485371,
1453760636594831769]
------------------- check result --------------------