bpmult.s 3.63 KB
/****************************************************************
  SCALAR UNIT BYPASS TEST: 5
 ****************************************************************/

.base 0x00000000

	lui	$1,	0x3038
	ori	$1,	0x2DB6
	lui	$2,	0x2DA5
	ori	$2,	0x2A31
	lui	$3,	0x4F13
	ori	$3,	0x6098
	lui	$4,	0x70F5
	ori	$4,	0x61D6
	lui	$5,	0x6EB7
	ori	$5,	0x7D2A
	lui	$6,	0x683F
	ori	$6,	0x0DD5
	lui	$7,	0x7021
	ori	$7,	0x6704
	lui	$8,	0x593A
	ori	$8,	0x3A4E
	lui	$9,	0x4532
	ori	$9,	0x48CB
	lui	$10,	0x5E1A
	ori	$10,	0x28B8
	lui	$11,	0x7C17
	ori	$11,	0x592B
	lui	$12,	0x0CE1
	ori	$12,	0x3335
	lui	$13,	0x157A
	ori	$13,	0x7392
	lui	$14,	0x476A
	ori	$14,	0x09B0
	lui	$15,	0x116A
	ori	$15,	0x00B1
	lui	$16,	0x0036
	ori	$16,	0x24BC
	lui	$17,	0x5F0B
	ori	$17,	0x6AB4
	lui	$18,	0x7FF5
	ori	$18,	0x0A2C
	lui	$19,	0x1AFD
	ori	$19,	0x193C
	lui	$20,	0x77D4
	ori	$20,	0x3F72
	lui	$21,	0x488D
	ori	$21,	0x3120
	lui	$22,	0x6C89
	ori	$22,	0x05B8
	lui	$23,	0x719E
	ori	$23,	0x13E8
	lui	$24,	0x4620
	ori	$24,	0x3BC0
	lui	$25,	0x5955
	ori	$25,	0x5B05
	lui	$26,	0x1083
	ori	$26,	0x017C
	lui	$27,	0x2D87
	ori	$27,	0x4AD2
	lui	$28,	0x38CA
	ori	$28,	0x796D
	lui	$29,	0x62E4
	ori	$29,	0x794B
	lui	$30,	0x5348
	ori	$30,	0x43BC
	lui	$31,	0x27E0
	ori	$31,	0x248F

	/* TEST #102 *********************************************/
	/* Initialize test registers */
	lui	$17,	0x3651
	ori	$17,	0x0F19
	lui	$18,	0x1A65
	ori	$18,	0x7517
	lui	$19,	0x75CD
	ori	$19,	0x5B57
	lui	$20,	0x2C3A
	ori	$20,	0x27B4
	lui	$21,	0x0B7E
	ori	$21,	0x49C4

	/* Test */
	xor	$17,	$20,	$21
	xor	$17,	$18,	$19
	xor	$17,	$19,	$20
	nop
	nop
	nop
	xori	$21,	$17,	0xFFFF

	/* Check result */
	nop
	nop
	nop
	lui	$18,	0x59F7
	ori	$18,	0x831C
	bne	$18,	$21,	Fail
	nop

	/* TEST #103 *********************************************/
	/* Initialize test registers */
	lui	$19,	0x6231
	ori	$19,	0x5B4A
	lui	$20,	0x3811
	ori	$20,	0x174A
	lui	$21,	0x5A13
	ori	$21,	0x7E4F
	lui	$22,	0x68E6
	ori	$22,	0x1C47
	lui	$23,	0x434C
	ori	$23,	0x1801

	/* Test */
	xor	$19,	$22,	$23
	xor	$19,	$20,	$21
	xor	$19,	$21,	$22
	nop
	nop
	xori	$23,	$19,	0xFFFF

	/* Check result */
	nop
	nop
	nop
	lui	$20,	0x32F5
	ori	$20,	0x9DF7
	bne	$20,	$23,	Fail
	nop

	/* TEST #104 *********************************************/
	/* Initialize test registers */
	lui	$21,	0x2E9F
	ori	$21,	0x6E2C
	lui	$22,	0x3657
	ori	$22,	0x696A
	lui	$23,	0x106A
	ori	$23,	0x7ED7
	lui	$24,	0x16E7
	ori	$24,	0x2214
	lui	$25,	0x480F
	ori	$25,	0x55B1

	/* Test */
	xor	$21,	$24,	$25
	xor	$21,	$22,	$23
	xor	$21,	$23,	$24
	nop
	xori	$25,	$21,	0xFFFF

	/* Check result */
	nop
	nop
	nop
	lui	$22,	0x068D
	ori	$22,	0xA33C
	bne	$22,	$25,	Fail
	nop

	/* TEST #105 *********************************************/
	/* Initialize test registers */
	lui	$23,	0x6CDB
	ori	$23,	0x248C
	lui	$24,	0x32B8
	ori	$24,	0x3E87
	lui	$25,	0x5FDF
	ori	$25,	0x1699
	lui	$26,	0x0283
	ori	$26,	0x0A29
	lui	$27,	0x41E1
	ori	$27,	0x393A

	/* Test */
	xor	$23,	$26,	$27
	xor	$23,	$24,	$25
	xor	$23,	$25,	$26
	xori	$27,	$23,	0xFFFF

	/* Check result */
	nop
	nop
	nop
	lui	$24,	0x5D5C
	ori	$24,	0xE34F
	bne	$24,	$27,	Fail
	nop

	lui	$1, 0xFEED;
Fail:
	sw	$0,	0xF80 ($0)
	sw	$1,	0xF84 ($0)
	sw	$2,	0xF88 ($0)
	sw	$3,	0xF8C ($0)
	sw	$4,	0xF90 ($0)
	sw	$5,	0xF94 ($0)
	sw	$6,	0xF98 ($0)
	sw	$7,	0xF9C ($0)
	sw	$8,	0xFA0 ($0)
	sw	$9,	0xFA4 ($0)
	sw	$10,	0xFA8 ($0)
	sw	$11,	0xFAC ($0)
	sw	$12,	0xFB0 ($0)
	sw	$13,	0xFB4 ($0)
	sw	$14,	0xFB8 ($0)
	sw	$15,	0xFBC ($0)
	sw	$16,	0xFC0 ($0)
	sw	$17,	0xFC4 ($0)
	sw	$18,	0xFC8 ($0)
	sw	$19,	0xFCC ($0)
	sw	$20,	0xFD0 ($0)
	sw	$21,	0xFD4 ($0)
	sw	$22,	0xFD8 ($0)
	sw	$23,	0xFDC ($0)
	sw	$24,	0xFE0 ($0)
	sw	$25,	0xFE4 ($0)
	sw	$26,	0xFE8 ($0)
	sw	$27,	0xFEC ($0)
	sw	$28,	0xFF0 ($0)
	sw	$29,	0xFF4 ($0)
	sw	$30,	0xFF8 ($0)
	sw	$31,	0xFFC ($0)
	break