arch-x86: Adding warning for movnti
authorPouya Fotouhi <Pouya.Fotouhi@amd.com>
Mon, 26 Aug 2019 23:15:44 +0000 (18:15 -0500)
committerPouya Fotouhi <pfotouhi@ucdavis.edu>
Thu, 5 Sep 2019 17:49:04 +0000 (17:49 +0000)
We are ignoring the non-temporal hint here, and implementing this
instruction as a cacheable instruction.

This change adds a warning to let user know about this workaround.

Change-Id: I2e40437a44282fe9cf7772a25a8870bd8729a6ed
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20428
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

src/arch/x86/isa/decoder/two_byte_opcodes.isa
src/arch/x86/isa/insts/general_purpose/data_transfer/move.py

index a23531c130935c37f07b724348d93f1e8c23ae43..348bff32eb8d356431062e9178559ed87e74c57e 100644 (file)
                     // no prefix
                     0x0: decode OPCODE_OP_BOTTOM3 {
                         0x2: CMPPS(Vo,Wo,Ib);
+                        //Non-temporal hint is ignored since we don't have
+                        //proper support for it in the memory system.
                         0x3: MOVNTI(Mdp,Gdp);
                         0x4: PINSRW(Pq,Ew,Ib);
                         0x5: PEXTRW(Gd,PRq,Ib);
index 13d2f18e049616e85b0117cd4a859d7308819a18..91cf92a58f50ad752d7a69531bd0a921302f41b7 100644 (file)
@@ -333,10 +333,12 @@ processDescriptor:
 };
 
 def macroop MOVNTI_M_R {
+    warn_once "MOVNTI: Ignoring non-temporal hint, modeling as cacheable!"
     st reg, seg, sib, disp
 };
 
 def macroop MOVNTI_P_R {
+    warn_once "MOVNTI_P: Ignoring non-temporal hint, modeling as cacheable!"
     rdip t7
     st reg, seg, riprel, disp
 };