From: Junyan He <[email protected]>

The following instruction:
  mov (1) r127.7<1>:f  r8.2<0;1,0>:q
can not work because the dst should have same alignment
with the source, which will cause the conversion error.

Signed-off-by: Junyan He <[email protected]>
---
 backend/src/backend/gen_insn_selection.cpp | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/backend/src/backend/gen_insn_selection.cpp 
b/backend/src/backend/gen_insn_selection.cpp
index 628fa2f..bdf7c55 100644
--- a/backend/src/backend/gen_insn_selection.cpp
+++ b/backend/src/backend/gen_insn_selection.cpp
@@ -3998,12 +3998,8 @@ namespace gbe
         } else {
           GenRegister unpacked;
           const uint32_t type = GEN_TYPE_F;
-          if (!sel.isScalarReg(dst.reg())) {
-            unpacked = sel.unpacked_ud(sel.reg(FAMILY_QWORD, 
sel.isScalarReg(insn.getSrc(0))));
-            unpacked = GenRegister::retype(unpacked, type);
-          } else {
-            unpacked = GenRegister::retype(sel.unpacked_ud(dst.reg()), type);
-          }
+          unpacked = sel.unpacked_ud(sel.reg(FAMILY_QWORD, 
sel.isScalarReg(insn.getSrc(0))));
+          unpacked = GenRegister::retype(unpacked, type);
 
           sel.push();
             if (sel.isScalarReg(insn.getSrc(0))) {
-- 
1.9.1

_______________________________________________
Beignet mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/beignet

Reply via email to