[prev in list] [next in list] [prev in thread] [next in thread] 

List:       bochs-cvs
Subject:    [Bochs-cvs] [13520] trunk/bochs/cpu
From:       sshwarts--- via Bochs-cvs <bochs-cvs () lists ! sourceforge ! net>
Date:       2018-05-27 19:10:02
Message-ID: 1527448202.779011.6190 () sfp-scm-5 ! v30 ! lw ! sourceforge ! com
[Download RAW message or body]

Revision: 13520
Author:   sshwarts
Date:     2018-05-27 19:09:59 +0000 (Sun, 27 May 2018)
Log Message:
-----------
avoid gcc 7.3 warning

Modified Paths:
--------------
    trunk/bochs/cpu/aes.cc
    trunk/bochs/cpu/avx/avx.cc
    trunk/bochs/cpu/avx/avx2.cc
    trunk/bochs/cpu/avx/xop.cc

Modified: trunk/bochs/cpu/aes.cc
===================================================================
--- trunk/bochs/cpu/aes.cc	2018-05-27 18:33:07 UTC (rev 13519)
+++ trunk/bochs/cpu/aes.cc	2018-05-27 19:09:59 UTC (rev 13520)
@@ -502,6 +502,8 @@
   unsigned len = i->getVL();
   Bit8u imm8 = i->Ib();
 
+  r.clear();
+
   for (unsigned n=0; n < len; n++) {
     BxPackedXmmRegister op1 = BX_READ_AVX_REG_LANE(i->src1(), n), op2 = \
BX_READ_AVX_REG_LANE(i->src2(), n);  
@@ -511,7 +513,7 @@
     xmm_pclmulqdq(&r.vmm128(n), op1.xmm64u(imm8 & 1), op2.xmm64u((imm8 >> 4) & 1));
   }
 
-  BX_WRITE_AVX_REGZ(i->dst(), r, len);
+  BX_WRITE_AVX_REG(i->dst(), r);
 
   BX_NEXT_INSTR(i);
 }

Modified: trunk/bochs/cpu/avx/avx.cc
===================================================================
--- trunk/bochs/cpu/avx/avx.cc	2018-05-27 18:33:07 UTC (rev 13519)
+++ trunk/bochs/cpu/avx/avx.cc	2018-05-27 19:09:59 UTC (rev 13520)
@@ -339,10 +339,12 @@
   BxPackedAvxRegister op2 = BX_READ_AVX_REG(i->src2()), result;
   unsigned len = i->getVL();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++)
     xmm_shufps(&result.vmm128(n), &op1.vmm128(n), &op2.vmm128(n), i->Ib());
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
 
   BX_NEXT_INSTR(i);
 }
@@ -356,12 +358,14 @@
   unsigned len = i->getVL();
   Bit8u order = i->Ib();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++) {
     xmm_shufpd(&result.vmm128(n), &op1.vmm128(n), &op2.vmm128(n), order);
     order >>= 2;
   }
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
 
   BX_NEXT_INSTR(i);
 }
@@ -390,6 +394,8 @@
   BxPackedAvxRegister dst;
   BxPackedXmmRegister src;
   unsigned len = i->getVL();
+
+  dst.clear();
   
   bx_address eaddr = BX_CPU_RESOLVE_ADDR(i);
   read_virtual_xmmword(i->seg(), eaddr, &src);
@@ -398,7 +404,7 @@
     dst.vmm128(n) = src;
   }
 
-  BX_WRITE_AVX_REGZ(i->dst(), dst, len);
+  BX_WRITE_AVX_REG(i->dst(), dst);
 
   BX_NEXT_INSTR(i);
 }
@@ -524,10 +530,12 @@
   BxPackedAvxRegister op2 = BX_READ_AVX_REG(i->src2()), result;
   unsigned len = i->getVL();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++)
     xmm_permilps(&result.vmm128(n), &op1.vmm128(n), &op2.vmm128(n));
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
 
   BX_NEXT_INSTR(i);
 }
@@ -539,10 +547,12 @@
   BxPackedAvxRegister op2 = BX_READ_AVX_REG(i->src2()), result;
   unsigned len = i->getVL();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++)
     xmm_permilpd(&result.vmm128(n), &op1.vmm128(n), &op2.vmm128(n));
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
 
   BX_NEXT_INSTR(i);
 }
@@ -552,11 +562,12 @@
 {
   BxPackedAvxRegister op1 = BX_READ_AVX_REG(i->src()), result;
   unsigned len = i->getVL();
+  result.clear();
 
   for (unsigned n=0; n < len; n++)
     xmm_shufps(&result.vmm128(n), &op1.vmm128(n), &op1.vmm128(n), i->Ib());
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
 
   BX_NEXT_INSTR(i);
 }
@@ -568,12 +579,14 @@
   unsigned len = i->getVL();
   Bit8u order = i->Ib();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++) {
     xmm_shufpd(&result.vmm128(n), &op1.vmm128(n), &op1.vmm128(n), order);
     order >>= 2;
   }
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
 
   BX_NEXT_INSTR(i);
 }

Modified: trunk/bochs/cpu/avx/avx2.cc
===================================================================
--- trunk/bochs/cpu/avx/avx2.cc	2018-05-27 18:33:07 UTC (rev 13519)
+++ trunk/bochs/cpu/avx/avx2.cc	2018-05-27 19:09:59 UTC (rev 13520)
@@ -236,10 +236,12 @@
   Bit8u order = i->Ib();
   unsigned len = i->getVL();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++)
     xmm_pshufhw(&result.vmm128(n), &op.vmm128(n), order);
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
   BX_NEXT_INSTR(i);
 }
 
@@ -249,10 +251,12 @@
   Bit8u order = i->Ib();
   unsigned len = i->getVL();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++)
     xmm_pshuflw(&result.vmm128(n), &op.vmm128(n), order);
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
   BX_NEXT_INSTR(i);
 }
 
@@ -262,10 +266,12 @@
   BxPackedAvxRegister op2 = BX_READ_AVX_REG(i->src2()), result;
   unsigned len = i->getVL();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++)
     xmm_pshufb(&result.vmm128(n), &op1.vmm128(n), &op2.vmm128(n));
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
   BX_NEXT_INSTR(i);
 }
 
@@ -274,6 +280,8 @@
   BxPackedAvxRegister op1 = BX_READ_AVX_REG(i->src1());
   BxPackedAvxRegister op2 = BX_READ_AVX_REG(i->src2()), result;
 
+  result.clear();
+
   Bit8u control = i->Ib();
   unsigned len = i->getVL();
 
@@ -282,7 +290,7 @@
     control >>= 3;
   }
 
-  BX_WRITE_AVX_REGZ(i->dst(), result, len);
+  BX_WRITE_AVX_REG(i->dst(), result);
   BX_NEXT_INSTR(i);
 }
 
@@ -304,6 +312,7 @@
 {
   BxPackedAvxRegister op;
   unsigned len = i->getVL();
+  op.clear();
 
   Bit8u val_8 = BX_READ_XMM_REG_LO_BYTE(i->src());
   
@@ -310,7 +319,7 @@
   for (unsigned n=0; n < len; n++)
     xmm_pbroadcastb(&op.vmm128(n), val_8);
 
-  BX_WRITE_AVX_REGZ(i->dst(), op, len);
+  BX_WRITE_AVX_REG(i->dst(), op);
   BX_NEXT_INSTR(i);
 }
 
@@ -318,6 +327,7 @@
 {
   BxPackedAvxRegister op;
   unsigned len = i->getVL();
+  op.clear();
 
   Bit16u val_16 = BX_READ_XMM_REG_LO_WORD(i->src());
   
@@ -324,7 +334,7 @@
   for (unsigned n=0; n < len; n++)
     xmm_pbroadcastw(&op.vmm128(n), val_16);
 
-  BX_WRITE_AVX_REGZ(i->dst(), op, len);
+  BX_WRITE_AVX_REG(i->dst(), op);
   BX_NEXT_INSTR(i);
 }
 
@@ -332,6 +342,7 @@
 {
   BxPackedAvxRegister op;
   unsigned len = i->getVL();
+  op.clear();
 
   Bit32u val_32 = BX_READ_XMM_REG_LO_DWORD(i->src());
   
@@ -338,7 +349,7 @@
   for (unsigned n=0; n < len; n++)
     xmm_pbroadcastd(&op.vmm128(n), val_32);
 
-  BX_WRITE_AVX_REGZ(i->dst(), op, len);
+  BX_WRITE_AVX_REG(i->dst(), op);
   BX_NEXT_INSTR(i);
 }
 
@@ -346,6 +357,7 @@
 {
   BxPackedAvxRegister op;
   unsigned len = i->getVL();
+  op.clear();
 
   Bit64u val_64 = BX_READ_XMM_REG_LO_QWORD(i->src());
   
@@ -352,7 +364,7 @@
   for (unsigned n=0; n < len; n++)
     xmm_pbroadcastq(&op.vmm128(n), val_64);
 
-  BX_WRITE_AVX_REGZ(i->dst(), op, len);
+  BX_WRITE_AVX_REG(i->dst(), op);
   BX_NEXT_INSTR(i);
 }
 

Modified: trunk/bochs/cpu/avx/xop.cc
===================================================================
--- trunk/bochs/cpu/avx/xop.cc	2018-05-27 18:33:07 UTC (rev 13519)
+++ trunk/bochs/cpu/avx/xop.cc	2018-05-27 19:09:59 UTC (rev 13520)
@@ -912,6 +912,8 @@
   BxPackedYmmRegister op3 = BX_READ_YMM_REG(i->src3()), result;
   unsigned len = i->getVL();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++) {
     xmm_permil2ps(&result.ymm128(n), &op1.ymm128(n), &op2.ymm128(n), &op3.ymm128(n), \
i->Ib() & 3);  }
@@ -928,6 +930,8 @@
   BxPackedYmmRegister op3 = BX_READ_YMM_REG(i->src3()), result;
   unsigned len = i->getVL();
 
+  result.clear();
+
   for (unsigned n=0; n < len; n++) {
     xmm_permil2pd(&result.ymm128(n), &op1.ymm128(n), &op2.ymm128(n), &op3.ymm128(n), \
i->Ib() & 3);  }


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Bochs-cvs mailing list
Bochs-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bochs-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic