mirror of
https://github.com/Dillonb/n64.git
synced 2025-04-02 10:42:08 -04:00
87 lines
1.5 KiB
TOML
87 lines
1.5 KiB
TOML
input_desc = [
|
|
"v128:data",
|
|
]
|
|
|
|
output_desc = [
|
|
"v128:elt0",
|
|
"v128:elt1",
|
|
"v128:elt2",
|
|
"v128:elt3",
|
|
"v128:elt4",
|
|
"v128:elt5",
|
|
"v128:elt6",
|
|
"v128:elt7",
|
|
"v128:elt8",
|
|
"v128:elt9",
|
|
"v128:elt10",
|
|
"v128:elt11",
|
|
"v128:elt12",
|
|
"v128:elt13",
|
|
"v128:elt14",
|
|
"v128:elt15",
|
|
]
|
|
|
|
rsp_code = """
|
|
li a0,$0
|
|
li a1,$800
|
|
lqv v31[e0],$00(a0) // input vector
|
|
|
|
vxor v0,v0
|
|
vxor v1,v1
|
|
vxor v2,v2
|
|
vxor v3,v3
|
|
vxor v4,v4
|
|
vxor v5,v5
|
|
vxor v6,v6
|
|
vxor v7,v7
|
|
vxor v8,v8
|
|
vxor v9,v9
|
|
vxor v10,v10
|
|
vxor v11,v11
|
|
vxor v12,v12
|
|
vxor v13,v13
|
|
vxor v14,v14
|
|
vxor v15,v15
|
|
|
|
vor v0,v0,v31[e0]
|
|
vor v1,v1,v31[e1]
|
|
vor v2,v2,v31[e2]
|
|
vor v3,v3,v31[e3]
|
|
vor v4,v4,v31[e4]
|
|
vor v5,v5,v31[e5]
|
|
vor v6,v6,v31[e6]
|
|
vor v7,v7,v31[e7]
|
|
vor v8,v8,v31[e8]
|
|
vor v9,v9,v31[e9]
|
|
vor v10,v10,v31[e10]
|
|
vor v11,v11,v31[e11]
|
|
vor v12,v12,v31[e12]
|
|
vor v13,v13,v31[e13]
|
|
vor v14,v14,v31[e14]
|
|
vor v15,v15,v31[e15]
|
|
|
|
sqv v0[e0],$00(a1)
|
|
sqv v1[e0],$10(a1)
|
|
sqv v2[e0],$20(a1)
|
|
sqv v3[e0],$30(a1)
|
|
sqv v4[e0],$40(a1)
|
|
sqv v5[e0],$50(a1)
|
|
sqv v6[e0],$60(a1)
|
|
sqv v7[e0],$70(a1)
|
|
sqv v8[e0],$80(a1)
|
|
sqv v9[e0],$90(a1)
|
|
sqv v10[e0],$A0(a1)
|
|
sqv v11[e0],$B0(a1)
|
|
sqv v12[e0],$C0(a1)
|
|
sqv v13[e0],$D0(a1)
|
|
sqv v14[e0],$E0(a1)
|
|
sqv v15[e0],$F0(a1)
|
|
|
|
break
|
|
"""
|
|
|
|
[[test]]
|
|
name = "basic"
|
|
input = [
|
|
0x1122_3344, 0x5566_7788, 0x99AA_BBCC, 0xDDEE_FFAB, # v0
|
|
]
|