Skip to content

Changes

Summary

  1. Enable vector instructions for short format in selectEvaluator (commit: 8bacfaf) (details)
Commit 8bacfaf350dbdb7bff2a826acf743eb9053553c0 by Sarwat Shaheen
Enable vector instructions for short format in selectEvaluator

This commit addresses the use of vector instructions to handle short format in the **select** evaluator.
Previously, the use of vector instructions for short format in the select evaluator was disabled, even though on z14 and newer platforms, it is supported. The issue was caused by not correctly converting the condition code from GPR to FPR for short format. Changes for enabling vector instructions for short format:

- Use of LLGFR instruction for long format for zero-extending a 32 bit conditionReg to 64 bits
- Use of separate SLLG instruction for short format floats to preserve the float representation of the first 32 bits as it is later moved into FPR
- Addition of mask values in the VFCE instruction to get the element size mask for floats and doubles respectively

Closes: #5002

Signed-off-by: Sarwat Shaheen sarwat.shaheen@yahoo.com
(commit: 8bacfaf)
The file was modified compiler/z/codegen/ControlFlowEvaluator.cpp (diff)