|
Ran
|
Jobs
1
|
Files
89
|
Run time
1min
|
Badge
README BADGES
|
push
github
ARM64: Fix code generation for IR_SLOAD with typecheck + conversion. Reported by memcorrupt. (cherry picked from commit 564147f51) The assembling of the SLOAD with typecheck and conversion from number to int misses the corresponding move for emitting conversion to the FPR during assembling. Consider the following SLOAD: | 0006 x28 > int SLOAD #4 TCI Which results in the following mcode before the patch: | ldr x28, [x3, #16] | cmp x2, x28, lsr #32 | bls 0x62d2fda0 ->0 | ; here missing the move to d31 | fcvtzs w28, d31 | scvtf d30, w28 | fcmp d30, d31 | bne 0x62d2fda0 ->0 Instead of the expected: | ldr x28, [x3, #16] | cmp x2, x28, lsr #32 | bls 0x7bacfda0 ->0 | fmov d31, x28 | fcvtzs w28, d31 | scvtf d30, w28 | fcmp d30, d31 | bne 0x7bacfda0 ->0 Due to the incorrect check of the condition inside the `asm_sload()`, which excluded the `IRSLOAD_CONVERT` flag. It may lead to inconsistent behaviour on the trace. This patch fixes the check by comparing the source and destination registers instead. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#11278 Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit 2a13d734a)
5707 of 6042 branches covered (94.46%)
Branch coverage included in aggregate %.
21780 of 23491 relevant lines covered (92.72%)
3830975.21 hits per line
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | 15483695694.1 | 89 |
93.07 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
|---|