Skip to content

Commit

Permalink
Rollup merge of #135966 - mustartt:fix-ppc-abi-test, r=workingjubilee
Browse files Browse the repository at this point in the history
[AIX] Allow different sized load and store in `tests/assembly/powerpc64-struct-abi.rs`

Sometimes in the llvm backend generates 2 different copy assembly sequence.

1. `lxvd2x` followed immediately by `stxvd2x` (Load VSX Vector 2 Dword, Store VSX Vector 2 Dword) is semantically equivalent to;
2. `lxvw4x` followed immediately by `stxvw4x` (Load VSX Vector 4 Word, Store VSX Vector 4 Word)
  • Loading branch information
matthiaskrgr authored Jan 24, 2025
2 parents b344e14 + 56c9267 commit f86eb04
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions tests/assembly/powerpc64-struct-abi.rs
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,9 @@ struct ThreeU8s(u8, u8, u8);

// CHECK-LABEL: read_large
// aix: lwz [[REG1:.*]], 16(4)
// aix-NEXT: lxvd2x 0, 0, 4
// aix-NEXT: lxv{{d2x|w4x}} 0, 0, 4
// aix-NEXT: stw [[REG1]], 16(3)
// aix-NEXT: stxvd2x 0, 0, 3
// aix-NEXT: stxv{{d2x|w4x}} 0, 0, 3
// be: lwz [[REG1:.*]], 16(4)
// be-NEXT: stw [[REG1]], 16(3)
// be-NEXT: ld [[REG2:.*]], 8(4)
Expand Down Expand Up @@ -118,8 +118,8 @@ extern "C" fn read_small(x: &ThreeU8s) -> ThreeU8s {
// aix-NEXT: std 4, 56(1)
// aix-NEXT: stw [[REG1]], 16(6)
// aix-NEXT: addi [[REG2:.*]], 1, 48
// aix-NEXT: lxvd2x 0, 0, [[REG2]]
// aix-NEXT: stxvd2x 0, 0, 6
// aix-NEXT: lxv{{d2x|w4x}} 0, 0, [[REG2]]
// aix-NEXT: stxv{{d2x|w4x}} 0, 0, 6
// elf: std 3, 0(6)
// be-NEXT: rldicl [[REG1:.*]], 5, 32, 32
// elf-NEXT: std 4, 8(6)
Expand Down

0 comments on commit f86eb04

Please sign in to comment.