test_or_1:
  #_ REGISTER_IN r4 0xFFFFFFFF00000000
  #_ REGISTER_IN r5 0x00000000FFFFFFFF
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
  #_ REGISTER_OUT r4 0xFFFFFFFF00000000
  #_ REGISTER_OUT r5 0x00000000FFFFFFFF

test_or_1_constant:
  li r4, -1
  clrldi r4, r4, 32
  sldi r4, r4, 32
  li r5, -1
  clrldi r5, r5, 32
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
  #_ REGISTER_OUT r4 0xFFFFFFFF00000000
  #_ REGISTER_OUT r5 0x00000000FFFFFFFF

test_or_2:
  #_ REGISTER_IN r4 0xFFFFFFFFFFFFFFFE
  #_ REGISTER_IN r5 0x7FFFFFFFFFFFFFFF
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
  #_ REGISTER_OUT r4 0xFFFFFFFFFFFFFFFE
  #_ REGISTER_OUT r5 0x7FFFFFFFFFFFFFFF

test_or_2_constant:
  li r4, -1
  srdi r4, r4, 1
  sldi r4, r4, 1
  li r5, -1
  srdi r5, r5, 1
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
  #_ REGISTER_OUT r4 0xFFFFFFFFFFFFFFFE
  #_ REGISTER_OUT r5 0x7FFFFFFFFFFFFFFF

test_or_3:
  #_ REGISTER_IN r4 0x0000000000000000
  #_ REGISTER_IN r5 0xFFFFFFFFFFFFFFFF
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
  #_ REGISTER_OUT r4 0x0000000000000000
  #_ REGISTER_OUT r5 0xFFFFFFFFFFFFFFFF

test_or_3_constant:
  li r4, 0
  li r5, -1
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
  #_ REGISTER_OUT r4 0x0000000000000000
  #_ REGISTER_OUT r5 0xFFFFFFFFFFFFFFFF

test_or_4:
  #_ REGISTER_IN r4 0x123456789ABCDEF0
  #_ REGISTER_IN r5 0x0000000000000000
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0x123456789ABCDEF0
  #_ REGISTER_OUT r4 0x123456789ABCDEF0
  #_ REGISTER_OUT r5 0x0000000000000000

test_or_4_constant:
  lis r4, 0x1234
  ori r4, r4, 0x5678
  sldi r4, r4, 32
  oris r4, r4, 0x9ABC
  ori r4, r4, 0xDEF0
  li r5, 0
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0x123456789ABCDEF0
  #_ REGISTER_OUT r4 0x123456789ABCDEF0
  #_ REGISTER_OUT r5 0x0000000000000000

test_or_5:
  #_ REGISTER_IN r4 0xFF00FF00FF00FF00
  #_ REGISTER_IN r5 0x00FF00FF00FF00FF
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
  #_ REGISTER_OUT r4 0xFF00FF00FF00FF00
  #_ REGISTER_OUT r5 0x00FF00FF00FF00FF

test_or_5_constant:
  lis r4, 0xFF00
  ori r4, r4, 0xFF00
  sldi r4, r4, 32
  oris r4, r4, 0xFF00
  ori r4, r4, 0xFF00
  lis r5, 0x00FF
  ori r5, r5, 0x00FF
  sldi r5, r5, 32
  oris r5, r5, 0x00FF
  ori r5, r5, 0x00FF
  or r3, r4, r5
  blr
  #_ REGISTER_OUT r3 0xFFFFFFFFFFFFFFFF
  #_ REGISTER_OUT r4 0xFF00FF00FF00FF00
  #_ REGISTER_OUT r5 0x00FF00FF00FF00FF
