Convert Endian

Submission Date: 2026/5/9 19:16:39
Status: Accepted
Author: kentolibra
Lines: 22

VSM

# Use long-word vector destinations ($lrXv) so each cycle's long-word lands in a unique slot. imm i"32" $s12v imm i"16" $s16v imm i"8" $s0v imm ui"0xFF00FF00" $s4v imm ui"0x00FF00FF" $s8v nop nop lbsl $lm0 $ls12 $lr0v nop nop ibsl $lr0v $ls16 $lr8v nop nop iand $lr8v $ls4 $lr16v iand $lr8v $ls8 $lr24v nop nop uilsr $lr16v $ls0 $lls32v ilsl $lr24v $ls0 $lr40v nop nop ior $lr40v $lls32v $ln0

Standard Output

ACCEPTED!! score=22 j=22 m=0 bytes=298

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] # Use long-word vector destinations ($lrXv) so each cycle's long-word lands in a unique slot. imm i"32" $s12v imm i"16" $s16v imm i"8" $s0v imm ui"0xFF00FF00" $s4v imm ui"0x00FF00FF" $s8v nop nop lbsl $lm0 $ls12 $lr0v nop nop ibsl $lr0v $ls16 $lr8v nop nop iand $lr8v $ls4 $lr16v iand $lr8v $ls8 $lr24v nop nop uilsr $lr16v $ls0 $lls32v ilsl $lr24v $ls0 $lr40v nop nop ior $lr40v $lls32v $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 010000000000000000000000000000000000001010000000001010000011000000000000000000000000100000000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000001101000000000000000100000000000000000000000000000000000000001110000000000000000100000000000000000000000000000000000000001111000000000000000100000000000000000 j 010000000000000000000000000000000000001010000000001010000100000000000000000000000000010000000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000010001000000000000000010000000000000000000000000000000000000010010000000000000000010000000000000000000000000000000000000010011000000000000000010000000000000000 j 010000000000000000000000000000000000001010000000001010000000000000000000000000000000001000000000000000000000000000000000000000000000000011111111100111110000000000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000001000000000000000001000000000000000000000000000000000000000010000000000000000001000000000000000000000000000000000000000011000000000000000001000000000000000 j 010000000000000000000000000000000000001010000000001010000001000000000000000000111100000000001111000000000000000000000000000000000000000011111111111111110111111000000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000101000000000111100000000000000000000000000000000000000000000110000000000111100000000000000000000000000000000000000000000111000000000111100000000000000000000 j 010000000000000000000000000000000000001010000000001010000010000000000000000111000011111111110000000000000000000000000000000000000000000011111111100111110000000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000001001000000000000011111111000000000000000000000000000000000001010000000000000011111111000000000000000000000000000000000001011000000000000011111111000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 010000000000000000000000010100000000001010000000000000000000000101000001100000000000000000000001000000000000000000000000000000000000000011111111100011010000011001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000010000000000000000000000001100000000000000000000000000000000100000000000000000000000001100000000000000000000000000000000110000000000000000000000001100000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 010000000000000000000000010100000100001010000000000000000000000101000010000000000000000000000000000000000000000000000000000000000000000011111111101011010000000001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000001010000000010000000000000010000000000000000000000000000000001100000000100000000000000010000000000000000000000000000000001110000000110000000000000010000000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 010000000000000000000000010100001000001010000010000000000000000101000000100000000000000000000000000000000000000000000000000000000000000011111111101001010000000001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000010010000001010000000000000000100000000000000000000000000000010100000001100000000000000000100000000000000000000000000000010110000001110000000000000000100000000000000000000000000 j 010000000000000000000000010100001100001010000010000000000000000101000001000000000000000000000000000000000000000000000000000000000000000011111111101001010000000001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000011010000001010000000000000001000000000000000000000000000000011100000001100000000000000001000000000000000000000000000000011110000001110000000000000001000000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 010000000000000000000000000000000000001010000100001010001000001001000000000000000000000000000000000000000000000000000000000000000000000011111111101011001000000001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000010010000100100000000000000000000000000000000000000000000000010100000101000000000000000000000000000000000000000000000000010110000101100000000000000000000000000000000000 j 010000000000000000000000010100010100001010000110000000000000000101000000000000000000000000000000000000000000000000000000000000000000000011111111101010110000000001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000101010000011010000000000000000000000000000000000000000000000101100000011100000000000000000000000000000000000000000000000101110000011110000000000000000000000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 000000000000000000000000000000000000001010000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000011111111111000000001000111000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 j 010000000000000000000000000000000000001010001010000000000000000110000100000000000000000000000000101000000000000000010000000000000000000011111111101001100000000001000000000000000000000000000000000111000000000000000000000000000000001100000000000000000000000000101010000000000000100100000000000000000000000000000000000000101100000000000000101000000000000000000000000000000000000000101110000000000000101100000000000000000000000000 ------------------- 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 --------------------