diff options
Diffstat (limited to 'test/codegen')
| -rw-r--r-- | test/codegen/bitfield.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/test/codegen/bitfield.go b/test/codegen/bitfield.go index 44cf09f86f..6374d70650 100644 --- a/test/codegen/bitfield.go +++ b/test/codegen/bitfield.go @@ -338,20 +338,26 @@ func shift_no_cmp(x int) int { func rev16(c uint64) (uint64, uint64, uint64) { // arm64:`REV16`,-`AND`,-`LSR`,-`AND`,-`ORR\tR[0-9]+<<8` + // loong64:`REVB4H`,-`MOVV`,-`AND`,-`SRLV`,-`AND`,-`SLLV`,-`OR` b1 := ((c & 0xff00ff00ff00ff00) >> 8) | ((c & 0x00ff00ff00ff00ff) << 8) // arm64:-`ADD\tR[0-9]+<<8` + // loong64:-`ADDV` b2 := ((c & 0xff00ff00ff00ff00) >> 8) + ((c & 0x00ff00ff00ff00ff) << 8) // arm64:-`EOR\tR[0-9]+<<8` + // loong64:-`XOR` b3 := ((c & 0xff00ff00ff00ff00) >> 8) ^ ((c & 0x00ff00ff00ff00ff) << 8) return b1, b2, b3 } func rev16w(c uint32) (uint32, uint32, uint32) { // arm64:`REV16W`,-`AND`,-`UBFX`,-`AND`,-`ORR\tR[0-9]+<<8` + // loong64:`REVB2H`,-`AND`,-`SRL`,-`AND`,-`SLL`,-`OR` b1 := ((c & 0xff00ff00) >> 8) | ((c & 0x00ff00ff) << 8) // arm64:-`ADD\tR[0-9]+<<8` + // loong64:-`ADDV` b2 := ((c & 0xff00ff00) >> 8) + ((c & 0x00ff00ff) << 8) // arm64:-`EOR\tR[0-9]+<<8` + // loong64:-`XOR` b3 := ((c & 0xff00ff00) >> 8) ^ ((c & 0x00ff00ff) << 8) return b1, b2, b3 } |
