[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