|
|
1.1 ! root 1: .include "macros.inc" ! 2: ! 3: test_suite sar ! 4: ! 5: .macro test_sar prefix, imm ! 6: \prefix\()_set \imm ! 7: \prefix\()_ver \imm ! 8: .endm ! 9: ! 10: .macro tests_sar prefix ! 11: test_sar \prefix, 0 ! 12: test_sar \prefix, 1 ! 13: test_sar \prefix, 2 ! 14: test_sar \prefix, 3 ! 15: test_sar \prefix, 0x1f ! 16: test_sar \prefix, 0x20 ! 17: test_sar \prefix, 0x3f ! 18: test_sar \prefix, 0x40 ! 19: test_sar \prefix, 0xfffffffe ! 20: .endm ! 21: ! 22: .macro sar_set imm ! 23: movi a2, \imm ! 24: wsr a2, sar ! 25: .endm ! 26: ! 27: .macro sar_ver imm ! 28: rsr a3, sar ! 29: movi a2, \imm & 0x3f ! 30: assert eq, a2, a3 ! 31: .endm ! 32: ! 33: test sar ! 34: tests_sar sar ! 35: test_end ! 36: ! 37: .macro ssr_set imm ! 38: movi a2, \imm ! 39: ssr a2 ! 40: .endm ! 41: ! 42: .macro ssr_ver imm ! 43: rsr a3, sar ! 44: movi a2, \imm & 0x1f ! 45: assert eq, a2, a3 ! 46: .endm ! 47: ! 48: test ssr ! 49: tests_sar ssr ! 50: test_end ! 51: ! 52: .macro ssl_set imm ! 53: movi a2, \imm ! 54: ssl a2 ! 55: .endm ! 56: ! 57: .macro ssl_ver imm ! 58: rsr a3, sar ! 59: movi a2, 32 - (\imm & 0x1f) ! 60: assert eq, a2, a3 ! 61: .endm ! 62: ! 63: test ssl ! 64: tests_sar ssl ! 65: test_end ! 66: ! 67: .macro ssa8l_set imm ! 68: movi a2, \imm ! 69: ssa8l a2 ! 70: .endm ! 71: ! 72: .macro ssa8l_ver imm ! 73: rsr a3, sar ! 74: movi a2, (\imm & 0x3) << 3 ! 75: assert eq, a2, a3 ! 76: .endm ! 77: ! 78: test ssa8l ! 79: tests_sar ssa8l ! 80: test_end ! 81: ! 82: .macro ssa8b_set imm ! 83: movi a2, \imm ! 84: ssa8b a2 ! 85: .endm ! 86: ! 87: .macro ssa8b_ver imm ! 88: rsr a3, sar ! 89: movi a2, 32 - ((\imm & 0x3) << 3) ! 90: assert eq, a2, a3 ! 91: .endm ! 92: ! 93: test ssa8b ! 94: tests_sar ssa8b ! 95: test_end ! 96: ! 97: .macro ssai_set imm ! 98: ssai \imm & 0x1f ! 99: .endm ! 100: ! 101: .macro ssai_ver imm ! 102: rsr a3, sar ! 103: movi a2, \imm & 0x1f ! 104: assert eq, a2, a3 ! 105: .endm ! 106: ! 107: test ssai ! 108: tests_sar ssai ! 109: test_end ! 110: ! 111: test_suite_end
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.