| # v850 bsh |
| # mach: v850e |
| # as(v850e): -mv850e |
| |
| .include "testutils.inc" |
| |
| seti 0x12345678, r1 |
| bsh r1, r2 |
| |
| flags 0 |
| reg r2, 0x34127856 |
| |
| # CY is 1 if one or more bytes in the result half-word is zero, else 0 |
| |
| seti 0x12345600, r1 |
| bsh r1, r2 |
| flags c |
| reg r2, 0x34120056 |
| |
| seti 0x12340078, r1 |
| bsh r1, r2 |
| flags c |
| reg r2, 0x34127800 |
| |
| seti 0x12005678, r1 |
| bsh r1, r2 |
| flags 0 |
| reg r2, 0x00127856 |
| |
| seti 0x00345678, r1 |
| bsh r1, r2 |
| flags 0 |
| reg r2, 0x34007856 |
| |
| # S is set if the result is negative |
| |
| seti 0x00800000, r1 |
| bsh r1, r2 |
| flags s + c + z |
| reg r2, 0x80000000 |
| |
| # Z is set if the result is zero |
| # According to NEC, the Z flag depends on only the lower half-word |
| |
| seti 0x00000000, r1 |
| bsh r1, r2 |
| flags c + z |
| reg r2, 0x00000000 |
| |
| seti 0xffff0000, r1 |
| bsh r1, r2 |
| flags c + s + z |
| reg r2, 0xffff0000 |
| |
| pass |