blob: e9d216e149d62da16b81a7d55ee263e9e525c5f6 [file] [log] [blame]
# 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