test_stvx_1:
  # Basic 16-byte aligned store
  #_ MEMORY_IN 0x0000000010001000 [CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC]
  #_ REGISTER_IN r4 0x0000000010001000
  #_ REGISTER_IN v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
  li r5, 0
  stvx v3, r4, r5
  blr
  #_ REGISTER_OUT r4 0x0000000010001000
  #_ REGISTER_OUT r5 0
  #_ REGISTER_OUT v3 [01020304, 05060708, 090A0B0C, 0D0E0F10]
  #_ MEMORY_OUT 10001000 0102030405060708090A0B0C0D0E0F10

test_stvx_2:
  # Test with offset
  #_ MEMORY_IN 0x0000000010001000 [CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC]
  #_ MEMORY_IN 0x0000000010001010 [CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC]
  #_ REGISTER_IN r4 0x0000000010001000
  #_ REGISTER_IN v3 [AABBCCDD, EEFF0011, 22334455, 66778899]
  li r5, 16
  stvx v3, r4, r5
  blr
  #_ REGISTER_OUT r4 0x0000000010001000
  #_ REGISTER_OUT r5 16
  #_ REGISTER_OUT v3 [AABBCCDD, EEFF0011, 22334455, 66778899]
  #_ MEMORY_OUT 10001010 AABBCCDDEEFF00112233445566778899

test_stvx_3:
  # Test unaligned address (should mask to 16-byte boundary)
  #_ MEMORY_IN 0x0000000010001000 [CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC, CC]
  #_ REGISTER_IN r4 0x0000000010001000
  #_ REGISTER_IN v3 [11223344, 55667788, 99AABBCC, DDEEFF00]
  li r5, 13  # unaligned
  stvx v3, r4, r5
  blr
  #_ REGISTER_OUT r4 0x0000000010001000
  #_ REGISTER_OUT r5 13
  #_ REGISTER_OUT v3 [11223344, 55667788, 99AABBCC, DDEEFF00]
  # Should store to aligned address 0x10001000
  #_ MEMORY_OUT 10001000 112233445566778899AABBCCDDEEFF00
