@@ -18,6 +18,8 @@ public class Runtime_114572
18
18
{
19
19
public static Vector256 < ushort > s_2 ;
20
20
public static ushort s_4 ;
21
+ public static byte s_ub = 1 ;
22
+ public static ushort s_us = 1 ;
21
23
22
24
[ Fact ]
23
25
public static void Problem ( )
@@ -37,4 +39,34 @@ public static void Problem()
37
39
Assert . Equal ( Vector256 . Create ( ( ushort ) 0 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 , ( ushort ) 1 ) , s_2 ) ;
38
40
}
39
41
}
42
+
43
+ [ Fact ]
44
+ public static void Problem2 ( )
45
+ {
46
+ if ( Avx512F . VL . IsSupported )
47
+ {
48
+ var v0 = Vector128 < ushort > . Zero ;
49
+ var v1 = Vector128 < ushort > . One ;
50
+ var vs = Vector128 . CreateScalar ( s_us ) ;
51
+
52
+ var vr = Avx512F . VL . TernaryLogic ( v0 , v1 , Avx512BW . VL . CompareGreaterThanOrEqual ( v0 , vs ) , 0xE4 ) ;
53
+ Console . WriteLine ( vr ) ;
54
+ Assert . Equal ( Vector128 . Create ( ( ushort ) 1 , ( ushort ) 0 , ( ushort ) 0 , ( ushort ) 0 , ( ushort ) 0 , ( ushort ) 0 , ( ushort ) 0 , ( ushort ) 0 ) , vr ) ;
55
+ }
56
+ }
57
+
58
+ [ Fact ]
59
+ public static void Problem3 ( )
60
+ {
61
+ if ( Avx512F . VL . IsSupported )
62
+ {
63
+ var v0 = Vector128 < byte > . Zero ;
64
+ var v1 = Vector128 < byte > . One ;
65
+ var vs = Vector128 . CreateScalar ( s_ub ) ;
66
+
67
+ var vr = Avx512F . VL . TernaryLogic ( v0 , v1 , Avx512BW . VL . CompareGreaterThanOrEqual ( v0 , vs ) , 0xE4 ) ;
68
+ Console . WriteLine ( vr ) ;
69
+ Assert . Equal ( Vector128 . Create ( ( byte ) 1 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 , ( byte ) 0 ) , vr ) ;
70
+ }
71
+ }
40
72
}
0 commit comments