[ZARCH] Fix constraints and source code formatting
This commit is contained in:
+83
-83
@@ -34,89 +34,89 @@ static FLOAT zamin_kernel_16(BLASLONG n, FLOAT *x) {
|
||||
FLOAT amin;
|
||||
|
||||
__asm__("vleg %%v0,0(%[x]),0\n\t"
|
||||
"vleg %%v16,8(%[x]),0\n\t"
|
||||
"vleg %%v0,16(%[x]),1\n\t"
|
||||
"vleg %%v16,24(%[x]),1\n\t"
|
||||
"vflpdb %%v0,%%v0\n\t"
|
||||
"vflpdb %%v16,%%v16\n\t"
|
||||
"vfadb %%v0,%%v0,%%v16\n\t"
|
||||
"srlg %[n],%[n],4\n\t"
|
||||
"xgr %%r1,%%r1\n\t"
|
||||
"0:\n\t"
|
||||
"pfd 1, 1024(%%r1,%[x])\n\t"
|
||||
"vleg %%v16,0(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v17,8(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v16,16(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v17,24(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v18,32(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v19,40(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v18,48(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v19,56(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v20,64(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v21,72(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v20,80(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v21,88(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v22,96(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v23,104(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v22,112(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v23,120(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v24,128(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v25,136(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v24,144(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v25,152(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v26,160(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v27,168(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v26,176(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v27,184(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v28,192(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v29,200(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v28,208(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v29,216(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v30,224(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v31,232(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v30,240(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v31,248(%%r1,%[x]),1\n\t"
|
||||
"vflpdb %%v16,%%v16\n\t"
|
||||
"vflpdb %%v17,%%v17\n\t"
|
||||
"vflpdb %%v18,%%v18\n\t"
|
||||
"vflpdb %%v19,%%v19\n\t"
|
||||
"vflpdb %%v20,%%v20\n\t"
|
||||
"vflpdb %%v21,%%v21\n\t"
|
||||
"vflpdb %%v22,%%v22\n\t"
|
||||
"vflpdb %%v23,%%v23\n\t"
|
||||
"vflpdb %%v24,%%v24\n\t"
|
||||
"vflpdb %%v25,%%v25\n\t"
|
||||
"vflpdb %%v26,%%v26\n\t"
|
||||
"vflpdb %%v27,%%v27\n\t"
|
||||
"vflpdb %%v28,%%v28\n\t"
|
||||
"vflpdb %%v29,%%v29\n\t"
|
||||
"vflpdb %%v30,%%v30\n\t"
|
||||
"vflpdb %%v31,%%v31\n\t"
|
||||
"vfadb %%v16,%%v16,%%v17\n\t"
|
||||
"vfadb %%v18,%%v18,%%v19\n\t"
|
||||
"vfadb %%v20,%%v20,%%v21\n\t"
|
||||
"vfadb %%v22,%%v22,%%v23\n\t"
|
||||
"vfadb %%v24,%%v24,%%v25\n\t"
|
||||
"vfadb %%v26,%%v26,%%v27\n\t"
|
||||
"vfadb %%v28,%%v28,%%v29\n\t"
|
||||
"vfadb %%v30,%%v30,%%v31\n\t"
|
||||
"vfmindb %%v16,%%v16,%%v24,0\n\t"
|
||||
"vfmindb %%v18,%%v18,%%v26,0\n\t"
|
||||
"vfmindb %%v20,%%v20,%%v28,0\n\t"
|
||||
"vfmindb %%v22,%%v22,%%v30,0\n\t"
|
||||
"vfmindb %%v16,%%v16,%%v20,0\n\t"
|
||||
"vfmindb %%v18,%%v18,%%v22,0\n\t"
|
||||
"vfmindb %%v16,%%v16,%%v18,0\n\t"
|
||||
"vfmindb %%v0,%%v0,%%v16,0\n\t"
|
||||
"agfi %%r1, 256\n\t"
|
||||
"brctg %[n], 0b\n\t"
|
||||
"vrepg %%v16,%%v0,1\n\t"
|
||||
"wfmindb %%v0,%%v0,%%v16,0\n\t"
|
||||
"ldr %[amin],%%f0"
|
||||
: [amin] "=f"(amin),[n] "+&r"(n)
|
||||
: "m"(*(const FLOAT (*)[n * 2]) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v16", "v17", "v18", "v19", "v20", "v21", "v22",
|
||||
"v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31");
|
||||
"vleg %%v16,8(%[x]),0\n\t"
|
||||
"vleg %%v0,16(%[x]),1\n\t"
|
||||
"vleg %%v16,24(%[x]),1\n\t"
|
||||
"vflpdb %%v0,%%v0\n\t"
|
||||
"vflpdb %%v16,%%v16\n\t"
|
||||
"vfadb %%v0,%%v0,%%v16\n\t"
|
||||
"srlg %[n],%[n],4\n\t"
|
||||
"xgr %%r1,%%r1\n\t"
|
||||
"0:\n\t"
|
||||
"pfd 1, 1024(%%r1,%[x])\n\t"
|
||||
"vleg %%v16,0(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v17,8(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v16,16(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v17,24(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v18,32(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v19,40(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v18,48(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v19,56(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v20,64(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v21,72(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v20,80(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v21,88(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v22,96(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v23,104(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v22,112(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v23,120(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v24,128(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v25,136(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v24,144(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v25,152(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v26,160(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v27,168(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v26,176(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v27,184(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v28,192(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v29,200(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v28,208(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v29,216(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v30,224(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v31,232(%%r1,%[x]),0\n\t"
|
||||
"vleg %%v30,240(%%r1,%[x]),1\n\t"
|
||||
"vleg %%v31,248(%%r1,%[x]),1\n\t"
|
||||
"vflpdb %%v16,%%v16\n\t"
|
||||
"vflpdb %%v17,%%v17\n\t"
|
||||
"vflpdb %%v18,%%v18\n\t"
|
||||
"vflpdb %%v19,%%v19\n\t"
|
||||
"vflpdb %%v20,%%v20\n\t"
|
||||
"vflpdb %%v21,%%v21\n\t"
|
||||
"vflpdb %%v22,%%v22\n\t"
|
||||
"vflpdb %%v23,%%v23\n\t"
|
||||
"vflpdb %%v24,%%v24\n\t"
|
||||
"vflpdb %%v25,%%v25\n\t"
|
||||
"vflpdb %%v26,%%v26\n\t"
|
||||
"vflpdb %%v27,%%v27\n\t"
|
||||
"vflpdb %%v28,%%v28\n\t"
|
||||
"vflpdb %%v29,%%v29\n\t"
|
||||
"vflpdb %%v30,%%v30\n\t"
|
||||
"vflpdb %%v31,%%v31\n\t"
|
||||
"vfadb %%v16,%%v16,%%v17\n\t"
|
||||
"vfadb %%v18,%%v18,%%v19\n\t"
|
||||
"vfadb %%v20,%%v20,%%v21\n\t"
|
||||
"vfadb %%v22,%%v22,%%v23\n\t"
|
||||
"vfadb %%v24,%%v24,%%v25\n\t"
|
||||
"vfadb %%v26,%%v26,%%v27\n\t"
|
||||
"vfadb %%v28,%%v28,%%v29\n\t"
|
||||
"vfadb %%v30,%%v30,%%v31\n\t"
|
||||
"vfmindb %%v16,%%v16,%%v24,0\n\t"
|
||||
"vfmindb %%v18,%%v18,%%v26,0\n\t"
|
||||
"vfmindb %%v20,%%v20,%%v28,0\n\t"
|
||||
"vfmindb %%v22,%%v22,%%v30,0\n\t"
|
||||
"vfmindb %%v16,%%v16,%%v20,0\n\t"
|
||||
"vfmindb %%v18,%%v18,%%v22,0\n\t"
|
||||
"vfmindb %%v16,%%v16,%%v18,0\n\t"
|
||||
"vfmindb %%v0,%%v0,%%v16,0\n\t"
|
||||
"agfi %%r1, 256\n\t"
|
||||
"brctg %[n], 0b\n\t"
|
||||
"vrepg %%v16,%%v0,1\n\t"
|
||||
"wfmindb %%v0,%%v0,%%v16,0\n\t"
|
||||
"ldr %[amin],%%f0"
|
||||
: [amin] "=f"(amin),[n] "+&r"(n)
|
||||
: "m"(*(const struct { FLOAT x[n * 2]; } *) x),[x] "a"(x)
|
||||
: "cc", "r1", "v0", "v16", "v17", "v18", "v19", "v20", "v21", "v22",
|
||||
"v23", "v24", "v25", "v26", "v27", "v28", "v29", "v30", "v31");
|
||||
|
||||
return amin;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user