Files
sdk/pkg/compiler/test/optimization/data/shift_right_unsigned.dart
T
Stephen Adams 39aa454e7b [dart2js] Implement int.>>> optimizations
Change-Id: I7d54bc523bb81c5ae8d6fed4ec2e6df473206788
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187340
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
2021-03-09 02:20:06 +00:00

54 lines
1.2 KiB
Dart

// Copyright (c) 2021, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
main() {
shru1(1, 1);
shru1(2, 2);
shru1(-1, -1);
shruOtherInferredPositive(1, 1);
shruOtherInferredPositive(99, 99);
shruOtherInferredPositive(-1, 2);
shruSix(1);
shruSix(-1);
shruMaskedCount(1, 1);
shruMaskedCount(999, 999);
shruMaskedCount(-1, -2);
shruMaskedCount2(1, 1);
shruMaskedCount2(999, 999);
shruMaskedCount2(-1, -2);
}
@pragma('dart2js:noInline')
shru1(a, b) {
return a >>> b;
}
@pragma('dart2js:noInline')
/*member: shruOtherInferredPositive:Specializer=[ShiftRightUnsigned._shruOtherPositive]*/
shruOtherInferredPositive(a, b) {
return a >>> b;
}
@pragma('dart2js:noInline')
/*member: shruSix:Specializer=[ShiftRightUnsigned]*/
shruSix(int a) {
return a >>> 6;
}
@pragma('dart2js:noInline')
/*member: shruMaskedCount:Specializer=[BitAnd,ShiftRightUnsigned]*/
shruMaskedCount(int a, int b) {
return a >>> (b & 31);
}
@pragma('dart2js:noInline')
/*member: shruMaskedCount2:Specializer=[BitAnd,ShiftRightUnsigned._shruOtherPositive]*/
shruMaskedCount2(int a, int b) {
return a >>> (b & 127);
}