425 } 426 427 @Override 428 @ForceInline 429 public Long512Vector shiftR(int s) { 430 return (Long512Vector) VectorIntrinsics.broadcastInt( 431 VECTOR_OP_URSHIFT, Long512Vector.class, long.class, LENGTH, 432 this, s, 433 (v, i) -> v.uOp((__, a) -> (long) (a >>> i))); 434 } 435 436 @Override 437 @ForceInline 438 public Long512Vector aShiftR(int s) { 439 return (Long512Vector) VectorIntrinsics.broadcastInt( 440 VECTOR_OP_RSHIFT, Long512Vector.class, long.class, LENGTH, 441 this, s, 442 (v, i) -> v.uOp((__, a) -> (long) (a >> i))); 443 } 444 445 // Ternary operations 446 447 448 // Type specific horizontal reductions 449 450 @Override 451 @ForceInline 452 public long addAll() { 453 return (long) VectorIntrinsics.reductionCoerced( 454 VECTOR_OP_ADD, Long512Vector.class, long.class, LENGTH, 455 this, 456 v -> (long) v.rOp((long) 0, (i, a, b) -> (long) (a + b))); 457 } 458 459 @Override 460 @ForceInline 461 public long andAll() { 462 return (long) VectorIntrinsics.reductionCoerced( 463 VECTOR_OP_AND, Long512Vector.class, long.class, LENGTH, 464 this, | 425 } 426 427 @Override 428 @ForceInline 429 public Long512Vector shiftR(int s) { 430 return (Long512Vector) VectorIntrinsics.broadcastInt( 431 VECTOR_OP_URSHIFT, Long512Vector.class, long.class, LENGTH, 432 this, s, 433 (v, i) -> v.uOp((__, a) -> (long) (a >>> i))); 434 } 435 436 @Override 437 @ForceInline 438 public Long512Vector aShiftR(int s) { 439 return (Long512Vector) VectorIntrinsics.broadcastInt( 440 VECTOR_OP_RSHIFT, Long512Vector.class, long.class, LENGTH, 441 this, s, 442 (v, i) -> v.uOp((__, a) -> (long) (a >> i))); 443 } 444 445 @Override 446 @ForceInline 447 public Long512Vector shiftL(Vector<Long,Shapes.S512Bit> s) { 448 Long512Vector v = (Long512Vector)s; 449 return (Long512Vector) VectorIntrinsics.binaryOp( 450 VECTOR_OP_LSHIFT, Long512Vector.class, long.class, LENGTH, 451 this, v, 452 (v1, v2) -> ((Long512Vector)v1).bOp(v2,(i,a, b) -> (long) (a << b))); 453 } 454 455 @Override 456 @ForceInline 457 public Long512Vector shiftR(Vector<Long,Shapes.S512Bit> s) { 458 Long512Vector v = (Long512Vector)s; 459 return (Long512Vector) VectorIntrinsics.binaryOp( 460 VECTOR_OP_URSHIFT, Long512Vector.class, long.class, LENGTH, 461 this, v, 462 (v1, v2) -> ((Long512Vector)v1).bOp(v2,(i,a, b) -> (long) (a >>> b))); 463 } 464 465 @Override 466 @ForceInline 467 public Long512Vector ashiftR(Vector<Long,Shapes.S512Bit> s) { 468 Long512Vector v = (Long512Vector)s; 469 return (Long512Vector) VectorIntrinsics.binaryOp( 470 VECTOR_OP_RSHIFT, Long512Vector.class, long.class, LENGTH, 471 this, v, 472 (v1, v2) -> ((Long512Vector)v1).bOp(v2,(i,a, b) -> (long) (a >> b))); 473 } 474 // Ternary operations 475 476 477 // Type specific horizontal reductions 478 479 @Override 480 @ForceInline 481 public long addAll() { 482 return (long) VectorIntrinsics.reductionCoerced( 483 VECTOR_OP_ADD, Long512Vector.class, long.class, LENGTH, 484 this, 485 v -> (long) v.rOp((long) 0, (i, a, b) -> (long) (a + b))); 486 } 487 488 @Override 489 @ForceInline 490 public long andAll() { 491 return (long) VectorIntrinsics.reductionCoerced( 492 VECTOR_OP_AND, Long512Vector.class, long.class, LENGTH, 493 this, |