/************************************************************************
************************************************************************/
setx t16_data_area, %g1, %l7
setx t16_blk_area,%g1,%g5;
setx 0x5555555555555555, %g3, %g4
!# Enable PMU to count instructions...
setx t16_t22_perf,%g3,%g6;
!# Make sure FP trap enables are off...
setx loop_cnt_4, %g2,%g1 !msa
setx 0xffffffffffffffff, %g2, %l2
setx t16_perf_cnt,%g1,%g2
setx t17_data_area, %g1, %l7
setx t17_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t16_t22_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure FP trap enables are off...
setx 0xf0f0f0abcdef9fff, %g3, %g4
setx loop_cnt_3, %g2, %g1
setx 0xffffffffffffffff, %g2, %l2
setx t17_perf_cnt,%g1,%g2
setx t18_data_area, %g1, %l7
setx t18_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t16_t22_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure FP trap enables are off...
setx 0xefefefdcdcababab, %g3, %g4
setx loop_cnt_3, %g2, %g1
setx t18_perf_cnt,%g1,%g2
setx t19_data_area, %g1, %l7
setx t19_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t16_t22_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure FP trap enables are off...
setx 0xf9f8f7f6f5f4f3f2, %g3, %g4
setx loop_cnt_2, %g2, %g1
setx t19_perf_cnt,%g1,%g2
setx t20_data_area, %g1, %l7
setx t20_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t16_t22_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure trap enables are off...
setx 0xaaaaaaaaaaaaaaaa, %g3, %g4
setx t20_perf_cnt,%g1,%g2
setx t21_data_area, %g1, %l7
setx t21_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t16_t22_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure trap enables are off...
setx 0xaaaaaaaaaaaaaaaa, %g3, %g4
setx t21_perf_cnt,%g1,%g2
setx t22_data_area, %g1, %l7
setx t22_blk_area,%g1,%g5;
!# Initialize registers ..
!# Enable PMU to count instructions...
setx t16_t22_perf,%g3,%g6;
!#setx 0x17f85fe7, %g3, %g6
!# Make sure trap enables are off...
setx 0xfedcba9876543210, %g3, %g4
setx loop_cnt_2, %g2, %g1
setx t22_perf_cnt,%g1,%g2
setx 0x212345000, %g7, %l0 ! bits [16:8] selects index in 4 bank mode
setx 0x223456040, %g7, %l1
setx 0x234567080, %g7, %l2
setx 0x2456780c0, %g7, %l3
setx 0x256789100, %g7, %l4
setx 0x26789a140, %g7, %l5
setx 0x2789ab180, %g7, %l6
setx 0x289abc1c0, %g7, %l7
setx NUM_LOOP_TH7, %i0, %o1
ld [%l0+0x8], %i2 !ld hit
st %g0, [%l0+0x200] !st miss
st %g0, [%l0+0x208] !st hit
ld [%l1+0x8], %i2 !ld hit
st %g0, [%l1+0x200] !st miss
st %g0, [%l1+0x208] !st hit
ld [%l2+0x8], %i2 !ld hit
st %g0, [%l2+0x200] !st miss
st %g0, [%l2+0x208] !st hit
ld [%l3+0x8], %i2 !ld hit
st %g0, [%l3+0x200] !st miss
st %g0, [%l3+0x208] !st hit
ld [%l4+0x8], %i2 !ld hit
st %g0, [%l4+0x200] !st miss
st %g0, [%l4+0x208] !st hit
ld [%l5+0x8], %i2 !ld hit
st %g0, [%l5+0x200] !st miss
st %g0, [%l5+0x208] !st hit
ld [%l6+0x8], %i2 !ld hit
st %g0, [%l6+0x200] !st miss
st %g0, [%l6+0x208] !st hit
ld [%l7+0x8], %i2 !ld hit
st %g0, [%l7+0x200] !st miss
st %g0, [%l7+0x208] !st hit
!=================================================================================================
/************************************************************************
************************************************************************/
!# A operand, 32 doublewords
.xword 0xb61e0f74d889169f !# a[0] for 3
.xword 0xeb7dad6d2db34663 !# a[1] for 3
.xword 0x000000069fad6615 !# a[2] for 3
.xword 0x85587F96342B939A
.xword 0x00DD7AAD15E30EB1
.xword 0xFFFFEEEE00006000
.xword 0xFFFFEEEE00007000
.xword 0x222D15F21092A854
.xword 0xFFFFEEEE00009000
.xword 0xFD2CB924281A7FB1
.xword 0xFFFFEEEE0000B000
.xword 0x12D7C16982229DCF
.xword 0xA75C18D599E04451
.xword 0xA3BE82C81B280E9D
.xword 0x8964B57FD2745FFB
.xword 0x4103465563EB1347
.xword 0xB4181F76C7A2CE01
.xword 0xFFFFFFFF10005000
.xword 0x4AC14D5A55D9D2BD
!#.xword 0x9711E4D4E862AFA7
.xword 0x2313258847A86E70
.xword 0x47A084C3801DE4F9
.xword 0x6B655B6A27D64052
.xword 0x48CBC2665D6D8BB8
.xword 0xD60A8BF421AA5DC8
.xword 0xF4529D511F583B2D
.xword 0xFFFFFFFF1000D000
.xword 0x27A0C706E2B783D4
.xword 0x00004FFF0000FFFF !#
.xword 0x0FFF8000FFFF0001 !#
.xword 0xF000FFFF0000FF00 !#
.xword 0x0000FFFF0000FF00 !#
.xword 0x1A890F27A74D6D4F !#
.xword 0xB34C93D130DF03BC !#
.xword 0xFD33BC46D2B25B52 !#
.xword 0x0FFFFFFF00006000 !#
.xword 0x9000111122223333
.xword 0x4444555566667777
.xword 0xFFFFEEEE00006000
.xword 0xFFFFEEEE00007000
.xword 0x222D15F21092A854
.xword 0xFFFFEEEE00009000
.xword 0xFD2CB924281A7FB1
.xword 0xFFFFEEEE0000B000
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0xA000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0xFFFFFFFF22223333
!# N operand, 32 doublewords
.xword 0x00000000000000c9 !# 3. n[0]
.xword 0x0000000000000000 !# 3. n[1]
.xword 0x0000000800000000 !# 3. n[2]
.xword 0xFFFFFFFF00007000
.xword 0xFFFFFFFF00008000
.xword 0xFFFFFFFF00009000
.xword 0xFFFFFFFF0000A000
.xword 0xFFFFFFFF0000B000
.xword 0xFFFFFFFF0000C000
.xword 0xFAEDBEEF0000D000
.xword 0xFFFFFFFF0000E000
.xword 0xFFFFFFFF0000F000
.xword 0xFFFFFFFF10000000
.xword 0xFFFFFFFF10001000
.xword 0xFFFFFFFF10002000
.xword 0xFFFFFFFF10003000
.xword 0xFFFFFFFF10004000
.xword 0xFFFFFFFF10005000
.xword 0xFFFFFFFF10006000
.xword 0xFFFFFFFF10007000
.xword 0xFFFFFFFF10008000
.xword 0xFFFFFFFF10009000
.xword 0xFFFFFFFF1000A000
.xword 0xFFFFFFFF1000B000
.xword 0xEFFFFFFF1000C000
.xword 0xFFFFFFFF1000D000
.xword 0xFFFFFFFF1000E000
.xword 0xAAAAAAAAAAAAAAAA !# 3. e[0]
.xword 0xAAAAAAAAAAAAAAAA !# 3. e[1]
.xword 0x0000000AAAAAAAAA !# 3. e[2]
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0x0000111122223333
.xword 0xb61e0f74d889169f !# a[0] for 3
.xword 0xeb7dad6d2db34663 !# a[1] for 3
.xword 0x000000069fad6615 !# a[2] for 3
!#.xword 0x0000001920000000 !# x[0] for 3
!#.xword 0x0000000000000000 !# x[1] for 3
!#.xword 0x0000000000000000 !# x[2] for 3
!# Expected X result starts here
.xword 0x9890891c6f7c2d0b !# 3. X[0]
.xword 0x8d0356cf2e263a36 !# 3. X[1]
.xword 0x000000074dc55ef7 !# 3. X[2]
.xword 0x0011223344556677 !# junk area for divide wait loop operand storage
!================================================================================================
!=================================================================================================
.xword 0x0011223344556677
.xword 0x8899aabbccddeeff
!# AES initial state (also where final state will be written)
.xword 0x0001020304050607
.xword 0x08090a0b0c0d0e0f
.xword 0x1011121314151617
.xword 0x18191a1b1c1d1e1f
.xword 0x8ea2b7ca516745bf
.xword 0xeafc49904b496089
!# temporary area for storing expected result
.xword 0xDEADBEEFDEADBEEF
.xword 0xDEADBEEFDEADBEEF
!################################################
!# CWQ data area, set aside 512 CW's worth
!=================================================================================================1
.xword 0x0000000000000000
!==================================================================================================
.xword 0x0000000017f85fe7
.xword 0x0000000057f99fe7
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
!==================================================================================================
.xword 0x00ffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0x0100000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x02ffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0x0300000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x04ffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0x0500000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x06ffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0xffffffffffffffff
.xword 0x0700000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000
.xword 0x0000000000000000