"MFENCE", LTYPE0, AMFENCE,
"SFENCE", LTYPE0, ASFENCE,
"EMMS", LTYPE0, AEMMS,
+ "PREFETCHT0", LTYPE2, APREFETCHT0,
+ "PREFETCHT1", LTYPE2, APREFETCHT1,
+ "PREFETCHT2", LTYPE2, APREFETCHT2,
+ "PREFETCHNTA", LTYPE2, APREFETCHNTA,
0
};
Ym, Ynone, Zm_o, 2,
0
};
+uchar yprefetch[] =
+{
+ Ym, Ynone, Zm_o, 2,
+ 0,
+};
Optab optab[] =
/* as, ytab, andproto, opcode */
{ AEMMS, ynone, Pm, 0x77 },
+ { APREFETCHT0, yprefetch, Pm, 0x18,(01) },
+ { APREFETCHT1, yprefetch, Pm, 0x18,(02) },
+ { APREFETCHT2, yprefetch, Pm, 0x18,(03) },
+ { APREFETCHNTA, yprefetch, Pm, 0x18,(00) },
+
0
};
TEXT runtime·prefetch(SB), 7, $0
MOVL 4(SP), AX
- // PREFETCHNTA (AX)
- BYTE $0x0f; BYTE $0x18; BYTE $0x00
+ PREFETCHNTA (AX)
RET
// void jmpdefer(fn, sp);