Richard Henderson
21eab5bfae
tcg/s390x: Implement vector NAND, NOR, EQV
...
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2022-03-04 08:50:41 -10:00
Richard Henderson
ed5234735a
tcg: Add opcodes for vector nand, nor, eqv
...
We've had placeholders for these opcodes for a while,
and should have support on ppc, s390x and avx512 hosts.
Tested-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2022-03-04 08:50:41 -10:00
Richard Henderson
1cd49868d4
tcg/s390x: Support raising sigbus for user-only
...
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2022-02-09 08:55:02 +11:00
Richard Henderson
9bca986df8
tcg/s390x: Implement TCG_TARGET_HAS_bitsel_vec
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-10-05 16:53:17 -07:00
Richard Henderson
220db7a6c4
tcg/s390x: Implement TCG_TARGET_HAS_minmax_vec
...
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-10-05 16:53:17 -07:00
Richard Henderson
22cb37b417
tcg/s390x: Implement vector shift operations
...
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-10-05 16:53:17 -07:00
Richard Henderson
479b61cbfa
tcg/s390x: Implement TCG_TARGET_HAS_mul_vec
...
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-10-05 16:53:17 -07:00
Richard Henderson
ae77bbe574
tcg/s390x: Implement andc, orc, abs, neg, not vector operations
...
These logical and arithmetic operations are optional but trivial.
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-10-05 16:53:17 -07:00
Richard Henderson
34ef767609
tcg/s390x: Add host vector framework
...
Add registers and function stubs. The functionality
is disabled via squashing s390_facilities[2] to 0.
We must still include results for the mandatory opcodes in
tcg_target_op_def, as all opcodes are checked during tcg init.
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-10-05 16:53:17 -07:00
Richard Henderson
eee6251b48
tcg/s390x: Merge TCG_AREG0 and TCG_REG_CALL_STACK into TCGReg
...
They are rightly values in the same enumeration.
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-10-05 16:53:17 -07:00
Richard Henderson
748b7f3ef7
tcg/s390x: Change FACILITY representation
...
We will shortly need to be able to check facilities beyond the
first 64. Instead of explicitly masking against s390_facilities,
create a HAVE_FACILITY macro that indexes an array.
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
---
v2: Change name to HAVE_FACILITY (david)
2021-10-05 16:53:17 -07:00
Richard Henderson
3704993f54
tcg/s390x: Rename from tcg/s390
...
This emphasizes that we don't support s390, only 64-bit s390x hosts.
Reviewed-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
2021-10-05 16:53:17 -07:00