math.vectors.simd.intrinsics: fix double-2 vcount
Turns out we use MOVMSKPS for double vectors too. Gotta save that extra instruction byte!db4
							parent
							
								
									9a19f82470
								
							
						
					
					
						commit
						32b7dc116f
					
				| 
						 | 
					@ -266,8 +266,8 @@ SIMD-INTRINSIC: (simd-vany?)             ( a   rep -- ? ) [ bitor  ] bitwise-com
 | 
				
			||||||
SIMD-INTRINSIC: (simd-vall?)             ( a   rep -- ? ) [ bitand ] bitwise-components-reduce zero? not ;
 | 
					SIMD-INTRINSIC: (simd-vall?)             ( a   rep -- ? ) [ bitand ] bitwise-components-reduce zero? not ;
 | 
				
			||||||
SIMD-INTRINSIC: (simd-vnone?)            ( a   rep -- ? ) [ bitor  ] bitwise-components-reduce zero?     ;
 | 
					SIMD-INTRINSIC: (simd-vnone?)            ( a   rep -- ? ) [ bitor  ] bitwise-components-reduce zero?     ;
 | 
				
			||||||
SIMD-INTRINSIC: (simd-vgetmask)          ( a   rep -- n )
 | 
					SIMD-INTRINSIC: (simd-vgetmask)          ( a   rep -- n )
 | 
				
			||||||
    dup { float-4-rep double-2-rep } member?
 | 
					    { float-4-rep double-2-rep } member?
 | 
				
			||||||
    [ ((vgetmask)) ] [ drop uchar-16-rep ((vgetmask)) ] if ;
 | 
					    [ uint-4-rep ((vgetmask)) ] [ uchar-16-rep ((vgetmask)) ] if ;
 | 
				
			||||||
SIMD-INTRINSIC: (simd-v>float)           ( a   rep -- c )
 | 
					SIMD-INTRINSIC: (simd-v>float)           ( a   rep -- c )
 | 
				
			||||||
    [ [ >rep-array ] [ rep-length ] bi [ >float ] ]
 | 
					    [ [ >rep-array ] [ rep-length ] bi [ >float ] ]
 | 
				
			||||||
    [ >float-vector-rep <rep-array> ] bi unrolled-map-as-unsafe underlying>> ;
 | 
					    [ >float-vector-rep <rep-array> ] bi unrolled-map-as-unsafe underlying>> ;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -113,7 +113,7 @@ DEFER: simd-construct-op
 | 
				
			||||||
: mask>count ( n rep -- n' )
 | 
					: mask>count ( n rep -- n' )
 | 
				
			||||||
    [ bit-count ] dip {
 | 
					    [ bit-count ] dip {
 | 
				
			||||||
        { float-4-rep     [ ] }
 | 
					        { float-4-rep     [ ] }
 | 
				
			||||||
        { double-2-rep    [ ] }
 | 
					        { double-2-rep    [ -1 shift ] }
 | 
				
			||||||
        { uchar-16-rep    [ ] }
 | 
					        { uchar-16-rep    [ ] }
 | 
				
			||||||
        { char-16-rep     [ ] }
 | 
					        { char-16-rep     [ ] }
 | 
				
			||||||
        { ushort-8-rep    [ -1 shift ] }
 | 
					        { ushort-8-rep    [ -1 shift ] }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue