Add ULong.compareTo and UInt.div/rem/compareTo intrinsics for Java 8
This commit is contained in:
committed by
max-kammerer
parent
e6362661d1
commit
373424f430
+16
@@ -0,0 +1,16 @@
|
||||
// JVM_TARGET: 1.6
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
val ua = 1234U
|
||||
val ub = 5678U
|
||||
|
||||
fun box(): String {
|
||||
if (ua.compareTo(ub) > 0) {
|
||||
throw AssertionError()
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// 1 INVOKESTATIC kotlin/UnsignedKt.uintCompare
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
val ua = 1234U
|
||||
val ub = 5678U
|
||||
|
||||
fun box(): String {
|
||||
if (ua.compareTo(ub) > 0) {
|
||||
throw AssertionError()
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// 0 kotlin/UnsignedKt.uintCompare
|
||||
// 1 INVOKESTATIC java/lang/Integer.compareUnsigned \(II\)I
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// JVM_TARGET: 1.6
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
val ua = 1234U
|
||||
val ub = 5678U
|
||||
val u = ua * ub
|
||||
|
||||
fun box(): String {
|
||||
val div = u / ua
|
||||
if (div != ub) throw AssertionError("$div")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// 1 INVOKESTATIC kotlin/UnsignedKt.uintDivide
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
val ua = 1234U
|
||||
val ub = 5678U
|
||||
val u = ua * ub
|
||||
|
||||
fun box(): String {
|
||||
val div = u / ua
|
||||
if (div != ub) throw AssertionError("$div")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// 0 kotlin/UnsignedKt.uintDivide
|
||||
// 1 INVOKESTATIC java/lang/Integer.divideUnsigned \(II\)I
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// JVM_TARGET: 1.6
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
val ua = 1234U
|
||||
val ub = 5678U
|
||||
val uc = 3456U
|
||||
val u = ua * ub + uc
|
||||
|
||||
fun box(): String {
|
||||
val rem = u % ub
|
||||
if (rem != uc) throw AssertionError("$rem")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// 1 kotlin/UnsignedKt.uintRemainder
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
val ua = 1234U
|
||||
val ub = 5678U
|
||||
val uc = 3456U
|
||||
val u = ua * ub + uc
|
||||
|
||||
fun box(): String {
|
||||
val rem = u % ub
|
||||
if (rem != uc) throw AssertionError("$rem")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// 0 kotlin/UnsignedKt.uintRemainder
|
||||
// 1 INVOKESTATIC java/lang/Integer.remainderUnsigned \(II\)I
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// JVM_TARGET: 1.6
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
val ua = 1234UL
|
||||
val ub = 5678UL
|
||||
|
||||
fun box(): String {
|
||||
if (ua.compareTo(ub) > 0) {
|
||||
throw AssertionError()
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// 1 INVOKESTATIC kotlin/UnsignedKt.ulongCompare
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
// JVM_TARGET: 1.8
|
||||
// WITH_RUNTIME
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
|
||||
val ua = 1234UL
|
||||
val ub = 5678UL
|
||||
|
||||
fun box(): String {
|
||||
if (ua.compareTo(ub) > 0) {
|
||||
throw AssertionError()
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
// 0 kotlin/UnsignedKt.ulongCompare
|
||||
// 1 INVOKESTATIC java/lang/Long.compareUnsigned \(JJ\)I
|
||||
Reference in New Issue
Block a user