# source file to test illegal mips32r2 instructions
|
# source file to test illegal mips32r2 instructions
|
|
|
.set noreorder
|
.set noreorder
|
.set noat
|
.set noat
|
|
|
.text
|
.text
|
text_label:
|
text_label:
|
|
|
# insert and extract position/size checks:
|
# insert and extract position/size checks:
|
|
|
# ext constraint: 0 <= pos < 32
|
# ext constraint: 0 <= pos < 32
|
ext $4, $5, -1, 1 # error
|
ext $4, $5, -1, 1 # error
|
ext $4, $5, 0, 1
|
ext $4, $5, 0, 1
|
ext $4, $5, 31, 1
|
ext $4, $5, 31, 1
|
ext $4, $5, 32, 1 # error
|
ext $4, $5, 32, 1 # error
|
|
|
# ext constraint: 0 < size <= 32
|
# ext constraint: 0 < size <= 32
|
ext $4, $5, 0, 0 # error
|
ext $4, $5, 0, 0 # error
|
ext $4, $5, 0, 1
|
ext $4, $5, 0, 1
|
ext $4, $5, 0, 32
|
ext $4, $5, 0, 32
|
ext $4, $5, 0, 33 # error
|
ext $4, $5, 0, 33 # error
|
|
|
# ext constraint: 0 < (pos+size) <= 32
|
# ext constraint: 0 < (pos+size) <= 32
|
ext $4, $5, 0, 0 # error
|
ext $4, $5, 0, 0 # error
|
ext $4, $5, 0, 1
|
ext $4, $5, 0, 1
|
ext $4, $5, 31, 1
|
ext $4, $5, 31, 1
|
ext $4, $5, 31, 2 # error
|
ext $4, $5, 31, 2 # error
|
|
|
# ins constraint: 0 <= pos < 32
|
# ins constraint: 0 <= pos < 32
|
ins $4, $5, -1, 1 # error
|
ins $4, $5, -1, 1 # error
|
ins $4, $5, 0, 1
|
ins $4, $5, 0, 1
|
ins $4, $5, 31, 1
|
ins $4, $5, 31, 1
|
ins $4, $5, 32, 1 # error
|
ins $4, $5, 32, 1 # error
|
|
|
# ins constraint: 0 < size <= 32
|
# ins constraint: 0 < size <= 32
|
ins $4, $5, 0, 0 # error
|
ins $4, $5, 0, 0 # error
|
ins $4, $5, 0, 1
|
ins $4, $5, 0, 1
|
ins $4, $5, 0, 32
|
ins $4, $5, 0, 32
|
ins $4, $5, 0, 33 # error
|
ins $4, $5, 0, 33 # error
|
|
|
# ins constraint: 0 < (pos+size) <= 32
|
# ins constraint: 0 < (pos+size) <= 32
|
ins $4, $5, 0, 0 # error
|
ins $4, $5, 0, 0 # error
|
ins $4, $5, 0, 1
|
ins $4, $5, 0, 1
|
ins $4, $5, 31, 1
|
ins $4, $5, 31, 1
|
ins $4, $5, 31, 2 # error
|
ins $4, $5, 31, 2 # error
|
|
|
# FP register checks.
|
# FP register checks.
|
#
|
#
|
# Even registers are supported w/ 32-bit FPU, odd
|
# Even registers are supported w/ 32-bit FPU, odd
|
# registers supported only for 64-bit FPU.
|
# registers supported only for 64-bit FPU.
|
# This file tests 32-bit FPU.
|
# This file tests 32-bit FPU.
|
|
|
mfhc1 $17, $f0
|
mfhc1 $17, $f0
|
mfhc1 $17, $f1 # warn
|
mfhc1 $17, $f1 # warn
|
|
|
mthc1 $17, $f0
|
mthc1 $17, $f0
|
mthc1 $17, $f1 # warn
|
mthc1 $17, $f1 # warn
|
|
|
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
|
# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
|
.space 8
|
.space 8
|
|
|