Skip to content

Power9 instruction gets executed on Power8 #28124

@limburgher

Description

@limburgher

Describe the issue:

From: https://bugzilla.redhat.com/show_bug.cgi?id=2336127

In 2024-12-21, we started to see an MLIR test failure on LLVM daily snapshots running on Rawhide on Power8.
We can only reproduce this issue on Rawhide.

After investigating, I found a numpy function using a Power9/Power ISA 3.0 instruction (mtvsrws):

Disassembly:
(gdb) disas
Dump of assembler code for function HALF_exp2(char**, npy_intp const*, npy_intp const*, void*):
...
0x00007fffe3bad210 <+160>: addis r9,r9,14336
0x00007fffe3bad214 <+164>: add r7,r7,r9
=> 0x00007fffe3bad218 <+168>: mtvsrws vs1,r7
0x00007fffe3bad21c <+172>: xscvspdpn vs1,vs1
0x00007fffe3bad220 <+176>: bl 0x7fffe38b3580 <0000001a.plt_call.exp2f@@GLIBC_2.27>

Backtrace:
(gdb) bt
#0 HALF_exp2 (args=, dimensions=, steps=, __NPY_UNUSED_TAGGEDdata=)
at ../numpy/_core/src/umath/loops_umath_fp.dispatch.c.src:182
#1 0x00007fffe3af615c in generic_wrapped_legacy_loop (__NPY_UNUSED_TAGGEDcontext=, data=, dimensions=,
strides=, auxdata=) at ../numpy/_core/src/umath/legacy_array_method.c:98
#2 0x00007fffe3b0d2f0 in try_trivial_single_output_loop (context=0x7fffffff8410, op=0x7fffffff8b30, order=,
errormask=) at ../numpy/_core/src/umath/ufunc_object.c:969
#3 PyUFunc_GenericFunctionInternal (ufunc=, ufuncimpl=, operation_descrs=0x7fffffff8730, op=0x7fffffff8b30,
casting=NPY_SAME_KIND_CASTING, order=, wheremask=0x0) at ../numpy/_core/src/umath/ufunc_object.c:2237
#4 ufunc_generic_fastcall (ufunc=, args=, len_args=, kwnames=, outer=)
at ../numpy/_core/src/umath/ufunc_object.c:4530
#5 0x00007ffff79e9e30 in PyObject_Vectorcall () from /lib64/libpython3.13.so.1.0

Reproducible: Always

Reproduce the code example:

N/A

Error message:

No response

Python and NumPy Versions:

Python 3.13, NumPy 2.2.1

Runtime Environment:

No response

Context for the issue:

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    00 - Bug57 - Close?Issues which may be closable unless discussion continuedcomponent: SIMDIssues in SIMD (fast instruction sets) code or machinery

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions