sb-simd.impure.lisp is missing AVX2 check

Bug #2011923 reported by Sergio Durigan Junior
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned

Bug Description

Hi,

sb-simd.impure.lisp seems to be missing the AVX2 check that simd-pack-256.pure.lisp has. This leads to a SIGILL, as can be seen in the current sbcl package that's currently available in Ubuntu:

https://autopkgtest.ubuntu.com/results/autopkgtest-lunar/lunar/amd64/s/sbcl/20230315_162246_a5e92@/log.gz

// Running sb-simd.impure.lisp in COMPILE evaluator mode
 tid 63663 CPU state (SIGILL received): PC=5367c32b Flags={IF ZF PF}
              rax rcx rdx rbx rsp rbp rsi rdi
     7F878C0706E0 2 FFFFFFFF00000019 502E028F 7F878C06DFA0 7F878C06DFB0 FFFFFFFF00000019 52D881A7
               r8 r9 r10 r11 r12 r13 r14 r15
         50000110 10033E7907 50000117 10033E7907 7F878C2BB010 7F878C270080 7F878C06DFB0 7F878C06E2D7
                              xmm0 xmm1 xmm2 xmm3
  000000000000000000000000FFFFFFFF 00007F878C06FD9000007F878C0706D0 00000000000000000000000040E00000 00000000000000000000000040E00000
                              xmm4 xmm5 xmm6 xmm7
  0000002E000000320000003300000046 00000029000000290000002900000044 0000004E000000410000002D00000032 00000033000000460000002000000029
                              xmm8 xmm9 xmm10 xmm11
  000000340000002E0000003200000033 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
                             xmm12 xmm13 xmm14 xmm15
  00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000
sigmask=
fatal error encountered in SBCL pid 63663 tid 63663:
Unhandled SIGILL at 0x5367c32b.

   0: fp=0x7f878c06dfb0 pc=0x5367c32b SB-SIMD-AVX::F32.4
   1: fp=0x7f878c06e050 pc=0x52d87450 SB-C::CAREFUL-CALL
   2: fp=0x7f878c06e0b0 pc=0x52b04ff0 SB-C::CONSTANT-FOLD-CALL
   3: fp=0x7f878c06e160 pc=0x52ab2962 SB-C::IR1-OPTIMIZE-COMBINATION
   4: fp=0x7f878c06e1c0 pc=0x52d947ae SB-C::IR1-OPTIMIZE
   5: fp=0x7f878c06e1f0 pc=0x52d75478 SB-C::IR1-OPTIMIZE-UNTIL-DONE
   6: fp=0x7f878c06e210 pc=0x52d75909 SB-C::IR1-OPTIMIZE-PHASE-1
   7: fp=0x7f878c06e228 pc=0x52d75da7 SB-C::IR1-PHASES
   8: fp=0x7f878c06e250 pc=0x52b3d2c2 SB-C::COMPILE-COMPONENT
   9: fp=0x7f878c06e2c0 pc=0x52d78014 SB-C::%COMPILE
  10: fp=0x7f878c06e358 pc=0x52adf363 (FLET "LAMBDA0" :IN "SYS:SRC;COMPILER;TARGET-MAIN.LISP")
  11: fp=0x7f878c06e400 pc=0x52b835f4 (FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)
  12: fp=0x7f878c06e4f0 pc=0x52adfe74 SB-C::COMPILE-IN-LEXENV
  13: fp=0x7f878c06e530 pc=0x52e317d4 SB-IMPL::%SIMPLE-EVAL
  14: fp=0x7f878c06e5f8 pc=0x52b4f65a SB-INT::SIMPLE-EVAL-IN-LEXENV
  15: fp=0x7f878c06e620 pc=0x52c6809d SB-EXT::EVAL-TLF
  16: fp=0x7f878c06e818 pc=0x52bb8846 (LABELS SB-FASL::EVAL-FORM :IN SB-INT::LOAD-AS-SOURCE)
  17: fp=0x7f878c06e928 pc=0x52bb8103 (LAMBDA (SB-KERNEL::FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT::LOAD-AS-SOURCE)
  18: fp=0x7f878c06e9e0 pc=0x52b83e80 SB-C::%DO-FORMS-FROM-INFO
  19: fp=0x7f878c06eb60 pc=0x52bb7a44 SB-INT::LOAD-AS-SOURCE
  20: fp=0x7f878c06ec68 pc=0x52b1c61e (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD)
  21: fp=0x7f878c06ed00 pc=0x52c921f5 SB-FASL::CALL-WITH-LOAD-BINDINGS
  22: fp=0x7f878c06ee00 pc=0x52b1c136 LOAD
  23: fp=0x7f878c06ee20 pc=0x538cabd2 (LAMBDA () :IN "/tmp/autopkgtest.7SYrqh/build.3NJ/src/tests/sb-simd.impure.lisp")
  24: fp=0x7f878c06ef00 pc=0x52b83443 (FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)
  25: fp=0x7f878c06efc8 pc=0x52b4fb27 SB-INT::SIMPLE-EVAL-IN-LEXENV
  26: fp=0x7f878c06eff0 pc=0x52c6809d SB-EXT::EVAL-TLF
  27: fp=0x7f878c06f1e8 pc=0x52bb8846 (LABELS SB-FASL::EVAL-FORM :IN SB-INT::LOAD-AS-SOURCE)
  28: fp=0x7f878c06f2f8 pc=0x52bb8103 (LAMBDA (SB-KERNEL::FORM &KEY :CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT::LOAD-AS-SOURCE)
  29: fp=0x7f878c06f3b0 pc=0x52b83e80 SB-C::%DO-FORMS-FROM-INFO
  30: fp=0x7f878c06f530 pc=0x52bb7a44 SB-INT::LOAD-AS-SOURCE
  31: fp=0x7f878c06f638 pc=0x52b1c61e (LABELS SB-FASL::LOAD-STREAM-1 :IN LOAD)
  32: fp=0x7f878c06f6d0 pc=0x52c921f5 SB-FASL::CALL-WITH-LOAD-BINDINGS
  33: fp=0x7f878c06f7d8 pc=0x52b1c136 LOAD
  34: fp=0x7f878c06f830 pc=0x534a8107 RUN-TESTS::LOAD-TEST
  35: fp=0x7f878c06f980 pc=0x534a95b9 RUN-TESTS::RUN
  36: fp=0x7f878c06fa48 pc=0x52b4fb27 SB-INT::SIMPLE-EVAL-IN-LEXENV
  37: fp=0x7f878c06fa60 pc=0x52a45183 EVAL
  38: fp=0x7f878c06fc10 pc=0x52c68aaa SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS
  39: fp=0x7f878c06fdd8 pc=0x52c6a90a SB-IMPL::TOPLEVEL-INIT
  40: fp=0x7f878c06fe70 pc=0x52f46795 (FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP)
  41: fp=0x7f878c06ff30 pc=0x52f4659a (FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP)
  42: fp=0x7f878c06ffc8 pc=0x52f463c2 SB-IMPL::%START-LISP

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :

http://ix.io/4r0B/diff seems to work.

Stas Boukarev (stassats)
Changed in sbcl:
status: New → Fix Committed
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.