plu/andp: add tests with sm
This commit is contained in:
parent
773f9c90f8
commit
651d474982
|
@ -85,7 +85,21 @@ asm_tests = {
|
|||
},
|
||||
'plu': {
|
||||
'andp-1': {},
|
||||
'landp-1': {},
|
||||
'andp-2': {},
|
||||
'andp-3': { 'should_fail': true },
|
||||
'andp-4': { 'should_fail': true },
|
||||
'andp-5': { 'should_fail': true },
|
||||
'andp-6': { 'should_fail': true },
|
||||
'andp-7': { 'should_fail': true },
|
||||
'andp-8': { 'should_fail': true },
|
||||
'landp-1': { 'src': 'andp-1' },
|
||||
'landp-2': { 'src': 'andp-2', 'c_args': ['-DOP=landp'] },
|
||||
'landp-3': { 'src': 'andp-3', 'c_args': ['-DOP=landp'], 'should_fail': true },
|
||||
'landp-4': { 'src': 'andp-4', 'c_args': ['-DOP=landp'], 'should_fail': true },
|
||||
'landp-5': { 'src': 'andp-5', 'c_args': ['-DOP=landp'], 'should_fail': true },
|
||||
'landp-6': { 'src': 'andp-6', 'c_args': ['-DOP=landp'], 'should_fail': true },
|
||||
'landp-7': { 'src': 'andp-7', 'c_args': ['-DOP=landp'], 'should_fail': true },
|
||||
'landp-8': { 'src': 'andp-8', 'c_args': ['-DOP=landp'], 'should_fail': true },
|
||||
'movep-1': {},
|
||||
'cascading-1': {},
|
||||
'cascading-2': {},
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
#include "test_start.S"
|
||||
|
||||
#ifndef OP
|
||||
# define OP andp
|
||||
#endif
|
||||
|
||||
{
|
||||
cmpbsb,0 0, 0, %pred0
|
||||
cmpesb,1 0, 0, %pred1
|
||||
|
@ -7,20 +11,20 @@
|
|||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
andp @p0, @p0, @p4
|
||||
OP @p0, @p0, @p4
|
||||
pass @p4, %pred2
|
||||
|
||||
andp @p0, @p1, @p5
|
||||
OP @p0, @p1, @p5
|
||||
pass @p5, %pred3
|
||||
|
||||
andp @p1, @p0, @p6
|
||||
OP @p1, @p0, @p6
|
||||
pass @p6, %pred4
|
||||
}
|
||||
{
|
||||
nop 2
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
andp @p1, @p1, @p4
|
||||
OP @p1, @p1, @p4
|
||||
pass @p4, %pred5
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,69 @@
|
|||
#include "test_start.S"
|
||||
|
||||
#ifndef OP
|
||||
# define OP andp
|
||||
#endif
|
||||
|
||||
invalid64 %g16
|
||||
{
|
||||
cmpesb,0,sm %g16, %g16, %pred0
|
||||
cmpesb,1 0, 0, %pred1
|
||||
cmpesb,3 0, 1, %pred2
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
OP @p0, @p1, @p4
|
||||
pass @p4, %pred2
|
||||
}
|
||||
|
||||
{
|
||||
cmpesb,0 0, 0, %pred0
|
||||
cmpesb,1,sm %g16, %g16, %pred1
|
||||
cmpesb,3 0, 1, %pred2
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
OP @p0, @p1, @p4
|
||||
pass @p4, %pred2
|
||||
}
|
||||
|
||||
{
|
||||
cmpesb,0,sm %g16, %g16, %pred0
|
||||
cmpesb,1,sm %g16, %g16, %pred1
|
||||
cmpesb,3 0, 1, %pred2
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
OP @p0, @p1, @p4
|
||||
pass @p4, %pred2
|
||||
}
|
||||
|
||||
{
|
||||
cmpesb,0,sm %g16, %g16, %pred0
|
||||
cmpesb,1,sm %g16, %g16, %pred1
|
||||
cmpesb,3,sm %g16, %g16, %pred2
|
||||
cmpesb,4,sm %g16, %g16, %pred3
|
||||
}
|
||||
{
|
||||
cmpesb,0 0, 1, %pred4
|
||||
cmpesb,1 0, 1, %pred5
|
||||
cmpesb,3 0, 1, %pred6
|
||||
cmpesb,4 0, 1, %pred7
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
pass %pred2, @p2
|
||||
pass %pred3, @p3
|
||||
OP @p0, @p1, @p4
|
||||
OP @p2, @p3, @p5
|
||||
OP @p4, @p5, @p6
|
||||
pass @p4, %pred4
|
||||
pass @p5, %pred5
|
||||
pass @p6, %pred6
|
||||
}
|
||||
|
||||
#include "test_end.S"
|
|
@ -0,0 +1,21 @@
|
|||
#include "test_start.S"
|
||||
|
||||
#ifndef OP
|
||||
# define OP andp
|
||||
#endif
|
||||
|
||||
invalid64 %g16
|
||||
{
|
||||
cmpesb,0,sm %g16, %g16, %pred0
|
||||
cmpesb,1 0, 0, %pred1
|
||||
cmpesb,3 0, 1, %pred2
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
OP ~@p0, @p1, @p4
|
||||
pass @p4, %pred2
|
||||
}
|
||||
addd,0 0, 0, %empty ? %pred2
|
||||
|
||||
#include "test_end.S"
|
|
@ -0,0 +1,21 @@
|
|||
#include "test_start.S"
|
||||
|
||||
#ifndef OP
|
||||
# define OP andp
|
||||
#endif
|
||||
|
||||
invalid64 %g16
|
||||
{
|
||||
cmpesb,0 0, 0, %pred0
|
||||
cmpesb,1,sm %g16, %g16, %pred1
|
||||
cmpesb,3 0, 1, %pred2
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
OP @p0, ~@p1, @p4
|
||||
pass @p4, %pred2
|
||||
}
|
||||
addd,0 0, 0, %empty ? %pred2
|
||||
|
||||
#include "test_end.S"
|
|
@ -0,0 +1,21 @@
|
|||
#include "test_start.S"
|
||||
|
||||
#ifndef OP
|
||||
# define OP andp
|
||||
#endif
|
||||
|
||||
invalid64 %g16
|
||||
{
|
||||
cmpesb,0,sm %g16, %g16, %pred0
|
||||
cmpesb,1,sm %g16, %g16, %pred1
|
||||
cmpesb,3 0, 1, %pred2
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
OP ~@p0, ~@p1, @p4
|
||||
pass @p4, %pred2
|
||||
}
|
||||
addd,0 0, 0, %empty ? %pred2
|
||||
|
||||
#include "test_end.S"
|
|
@ -0,0 +1,30 @@
|
|||
#include "test_start.S"
|
||||
|
||||
#ifndef OP
|
||||
# define OP andp
|
||||
#endif
|
||||
|
||||
invalid64 %g16
|
||||
{
|
||||
cmpesb,0,sm %g16, %g16, %pred0
|
||||
cmpesb,1,sm %g16, %g16, %pred1
|
||||
cmpesb,3 0, 0, %pred2
|
||||
cmpesb,4 0, 0, %pred3
|
||||
}
|
||||
{
|
||||
cmpesb,0 0, 1, %pred4
|
||||
cmpesb,1 0, 1, %pred5
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
pass %pred2, @p2
|
||||
pass %pred3, @p3
|
||||
landp ~@p0, ~@p1, @p4
|
||||
OP @p4, @p2, @p5
|
||||
pass @p4, %pred4
|
||||
pass @p5, %pred5
|
||||
}
|
||||
addd,0 0, 0, %empty ? %pred5
|
||||
|
||||
#include "test_end.S"
|
|
@ -0,0 +1,34 @@
|
|||
#include "test_start.S"
|
||||
|
||||
#ifndef OP
|
||||
# define OP andp
|
||||
#endif
|
||||
|
||||
invalid64 %g16
|
||||
{
|
||||
cmpesb,0,sm %g16, %g16, %pred0
|
||||
cmpesb,1,sm %g16, %g16, %pred1
|
||||
cmpesb,3 0, 0, %pred2
|
||||
cmpesb,4 0, 0, %pred3
|
||||
}
|
||||
{
|
||||
cmpesb,0 0, 1, %pred4
|
||||
cmpesb,1 0, 1, %pred5
|
||||
cmpesb,3 0, 1, %pred6
|
||||
cmpesb,4 0, 1, %pred7
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
pass %pred2, @p2
|
||||
pass %pred3, @p3
|
||||
landp ~@p0, ~@p1, @p4
|
||||
landp @p2, @p3, @p5
|
||||
OP @p4, @p5, @p6
|
||||
pass @p4, %pred4
|
||||
pass @p5, %pred5
|
||||
pass @p6, %pred6
|
||||
}
|
||||
addd,0 0, 0, %empty ? %pred6
|
||||
|
||||
#include "test_end.S"
|
|
@ -0,0 +1,34 @@
|
|||
#include "test_start.S"
|
||||
|
||||
#ifndef OP
|
||||
# define OP andp
|
||||
#endif
|
||||
|
||||
invalid64 %g16
|
||||
{
|
||||
cmpesb,0,sm %g16, %g16, %pred0
|
||||
cmpesb,1,sm %g16, %g16, %pred1
|
||||
cmpesb,3,sm %g16, %g16, %pred2
|
||||
cmpesb,4,sm %g16, %g16, %pred3
|
||||
}
|
||||
{
|
||||
cmpesb,0 0, 1, %pred4
|
||||
cmpesb,1 0, 1, %pred5
|
||||
cmpesb,3 0, 1, %pred6
|
||||
cmpesb,4 0, 1, %pred7
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
pass %pred2, @p2
|
||||
pass %pred3, @p3
|
||||
landp ~@p0, ~@p1, @p4
|
||||
landp ~@p2, ~@p3, @p5
|
||||
OP @p4, @p5, @p6
|
||||
pass @p4, %pred4
|
||||
pass @p5, %pred5
|
||||
pass @p6, %pred6
|
||||
}
|
||||
addd,0 0, 0, %empty ? %pred6
|
||||
|
||||
#include "test_end.S"
|
|
@ -1,34 +0,0 @@
|
|||
#include "test_start.S"
|
||||
|
||||
{
|
||||
cmpbsb,0 0, 0, %pred0
|
||||
cmpesb,1 0, 0, %pred1
|
||||
}
|
||||
{
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
landp @p0, @p0, @p4
|
||||
pass @p4, %pred2
|
||||
|
||||
landp @p0, @p1, @p5
|
||||
pass @p5, %pred3
|
||||
|
||||
landp @p1, @p0, @p6
|
||||
pass @p6, %pred4
|
||||
}
|
||||
{
|
||||
nop 2
|
||||
pass %pred0, @p0
|
||||
pass %pred1, @p1
|
||||
landp @p1, @p1, @p4
|
||||
pass @p4, %pred5
|
||||
}
|
||||
|
||||
assert(~%pred0)
|
||||
assert( %pred1)
|
||||
assert(~%pred2)
|
||||
assert(~%pred3)
|
||||
assert(~%pred4)
|
||||
assert( %pred5)
|
||||
|
||||
#include "test_end.S"
|
Loading…
Reference in New Issue