PXOR doesn't work on YMM registers

Bug #1942189 reported by Marco Heisig
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned

Bug Description

This bug is triggered by any code that contains a (simd-pack-256 integer) compile-time constant of all zeros, e.g.,

(defun foo ()
  (let ((c (sb-ext:%make-simd-pack-256-ub64 0 0 0 0)))
    (multiple-value-list
     (sb-ext:%simd-pack-256-ub64s c))))

The attached patch replaces the invalid two argument SSE instruction pxor with the three argument AVX instruction vpxor.

Revision history for this message
Marco Heisig (marco-heisig-h) wrote :
Stas Boukarev (stassats)
Changed in sbcl:
status: New → Fix Committed
Stas Boukarev (stassats)
Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.