- "vl %%v30, 32(%%r1,%2) \n\t"
- "vfmadb %%v26,%%v18,%%v30,%%v26 \n\t"
- "vl %%v31, 48(%%r1,%2) \n\t"
- "vfmadb %%v27,%%v19,%%v31,%%v27 \n\t"
-
- "vl %%v16, 64(%%r1,%1) \n\t"
- "vl %%v17, 80(%%r1,%1) \n\t"
- "vl %%v18, 96(%%r1,%1) \n\t"
- "vl %%v19, 112(%%r1,%1) \n\t"
-
- "vl %%v28, 64(%%r1,%2) \n\t"
- "vfmadb %%v24,%%v16,%%v28,%%v24 \n\t"
- "vl %%v29, 80(%%r1,%2) \n\t"
- "vfmadb %%v25,%%v17,%%v29,%%v25 \n\t"
-
-
- "vl %%v30, 96(%%r1,%2) \n\t"
- "vfmadb %%v26,%%v18,%%v30,%%v26 \n\t"
- "vl %%v31, 112(%%r1,%2) \n\t"
- "vfmadb %%v27,%%v19,%%v31,%%v27 \n\t"
-
-
- "la %%r1,128(%%r1) \n\t"
- "brctg %%r0,1b \n\t"
- "vfadb %%v24,%%v25,%%v24 \n\t"
- "vfadb %%v24,%%v26,%%v24 \n\t"
- "vfadb %%v24,%%v27,%%v24 \n\t"
- "vrepg %%v1,%%v24,1 \n\t"
- "vfadb %%v1,%%v24,%%v1 \n\t"
- " std %%f1,0(%3) \n\t"
- :
- :"r"(n),"a"(x),"a"(y),"a"(d)
- :"cc" , "memory" ,"r0","r1","v16", "v17","v18","v19","v20","v21","v22","v23",
- "v24","v25","v26","v27","v28","v29","v30","v31"
-
- );
+
+ "la %%r1,128(%%r1) \n\t"
+ "brctg %1,1b \n\t"
+ "vfadb %%v24,%%v25,%%v24 \n\t"
+ "vfadb %%v24,%%v26,%%v24 \n\t"
+ "vfadb %%v24,%%v27,%%v24 \n\t"
+ "vrepg %%v1,%%v24,1 \n\t"
+ "vfadb %%v1,%%v24,%%v1 \n\t"
+ "ldr %0, %%f1 \n\t"
+ : "=f"(dot) ,"+&r"(n)
+ : "a"(x),"a"(y)
+ :"cc" , "r1","v16", "v17","v18","v19","v20","v21","v22","v23",
+ "v24","v25","v26","v27","v28","v29","v30","v31"
+
+ );
+ return dot;