Convert Endian

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 --------------------