-# Copyright 2010-2012 Free Software Foundation, Inc.
+# Copyright 2010-2020 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
# Tests GDBs support for OpenCL operators.
-if $tracelevel {
- strace $tracelevel
-}
-
load_lib opencl.exp
if { [skip_opencl_tests] } {
# Compile the generic OpenCL host app
if { [gdb_compile_opencl_hostapp "${clprogram}" "${testfile}" "" ] != "" } {
- untested ${testfile}.exp
+ untested "failed to compile"
return -1
}
gdb_test "ptype ${name}a" "type = ${type}"
gdb_test "ptype ${name}b" "type = ${type}"
- gdb_test "ptype ${name}4a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a" "type = ${type}4"
+ gdb_test "ptype ${name}4b" "type = ${type}4"
if { ! ${isfloat} } {
gdb_test "print/d u${name}a" " = 2"
gdb_test "print/d u${name}4b" " = \\{1, 2, 8, 4\\}"
gdb_test "ptype u${name}a" "type = (unsigned ${type}|u${type})"
gdb_test "ptype u${name}b" "type = (unsigned ${type}|u${type})"
- gdb_test "ptype u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype u${name}4a" "type = u${type}4"
+ gdb_test "ptype u${name}4b" "type = u${type}4"
}
}
gdb_test "print/d -${name}4a" " = \\{-2, -4, -8, -16\\}"
# scalar with vector
- gdb_test "ptype ${name}a + ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a - ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}a * ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a / ${name}b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}a + ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a - ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}a * ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a / ${name}b" "type = ${type}4"
# vector with vector
- gdb_test "ptype ${name}4a + ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a - ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a * ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a / ${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a + ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a - ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a * ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a / ${name}4b" "type = ${type}4"
# scalar
gdb_test "ptype ${name}a++" "type = ${type}"
gdb_test "ptype ${name}a--" "type = ${type}"
gdb_test "ptype --${name}a" "type = ${type}"
# vector
- gdb_test "ptype ${name}4a++" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ++${name}4a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a--" "type = ${type} \\\[4\\\]"
- gdb_test "ptype --${name}4a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype +${name}4a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype -${name}4a" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a++" "type = ${type}4"
+ gdb_test "ptype ++${name}4a" "type = ${type}4"
+ gdb_test "ptype ${name}4a--" "type = ${type}4"
+ gdb_test "ptype --${name}4a" "type = ${type}4"
+ gdb_test "ptype +${name}4a" "type = ${type}4"
+ gdb_test "ptype -${name}4a" "type = ${type}4"
if { ${isfloat} } {
# scalar with scalar
gdb_test "ptype u${name}a--" "type = (unsigned ${type}|u${type})"
gdb_test "ptype --u${name}a" "type = (unsigned ${type}|u${type})"
# scalar with vector
- gdb_test "ptype ${name}a % ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}a + u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a - u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}a * u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a / u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}a % u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype ${name}a % ${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}a + u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a - u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}a * u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a / u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}a % u${name}4b" "type = u${type}4"
# vector with vector
- gdb_test "ptype ${name}4a % ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a + u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a - u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a * u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a / u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a % u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a++" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype ++u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a--" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype --u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype +u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype -u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype ${name}4a % ${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a + u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a - u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a * u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a / u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a % u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a++" "type = u${type}4"
+ gdb_test "ptype ++u${name}4a" "type = u${type}4"
+ gdb_test "ptype u${name}4a--" "type = u${type}4"
+ gdb_test "ptype --u${name}4a" "type = u${type}4"
+ gdb_test "ptype +u${name}4a" "type = u${type}4"
+ gdb_test "ptype -u${name}4a" "type = u${type}4"
}
}
if { ${size} == 2 } {
# result type should be short for half precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a > ${name}b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}a < ${name}4b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}4a >= ${name}b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}a <= ${name}4b" "type = short \\\[4\\\]"
+ gdb_test "ptype ${name}4a > ${name}b" "type = short4"
+ gdb_test "ptype ${name}a < ${name}4b" "type = short4"
+ gdb_test "ptype ${name}4a >= ${name}b" "type = short4"
+ gdb_test "ptype ${name}a <= ${name}4b" "type = short4"
# vector with vector
- gdb_test "ptype ${name}4a > ${name}4b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}4a < ${name}4b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}4a >= ${name}4b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}4a <= ${name}4b" "type = short \\\[4\\\]"
+ gdb_test "ptype ${name}4a > ${name}4b" "type = short4"
+ gdb_test "ptype ${name}4a < ${name}4b" "type = short4"
+ gdb_test "ptype ${name}4a >= ${name}4b" "type = short4"
+ gdb_test "ptype ${name}4a <= ${name}4b" "type = short4"
} elseif { ${size} == 4 } {
# result type should be int for single precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a > ${name}b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}a < ${name}4b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}4a >= ${name}b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}a <= ${name}4b" "type = int \\\[4\\\]"
+ gdb_test "ptype ${name}4a > ${name}b" "type = int4"
+ gdb_test "ptype ${name}a < ${name}4b" "type = int4"
+ gdb_test "ptype ${name}4a >= ${name}b" "type = int4"
+ gdb_test "ptype ${name}a <= ${name}4b" "type = int4"
# vector with vector
- gdb_test "ptype ${name}4a > ${name}4b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}4a < ${name}4b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}4a >= ${name}4b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}4a <= ${name}4b" "type = int \\\[4\\\]"
+ gdb_test "ptype ${name}4a > ${name}4b" "type = int4"
+ gdb_test "ptype ${name}4a < ${name}4b" "type = int4"
+ gdb_test "ptype ${name}4a >= ${name}4b" "type = int4"
+ gdb_test "ptype ${name}4a <= ${name}4b" "type = int4"
} else { # ${size} == 8
# result type should be long for double precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a > ${name}b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}a < ${name}4b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}4a >= ${name}b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}a <= ${name}4b" "type = long \\\[4\\\]"
+ gdb_test "ptype ${name}4a > ${name}b" "type = long4"
+ gdb_test "ptype ${name}a < ${name}4b" "type = long4"
+ gdb_test "ptype ${name}4a >= ${name}b" "type = long4"
+ gdb_test "ptype ${name}a <= ${name}4b" "type = long4"
# vector with vector
- gdb_test "ptype ${name}4a > ${name}4b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}4a < ${name}4b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}4a >= ${name}4b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}4a <= ${name}4b" "type = long \\\[4\\\]"
+ gdb_test "ptype ${name}4a > ${name}4b" "type = long4"
+ gdb_test "ptype ${name}4a < ${name}4b" "type = long4"
+ gdb_test "ptype ${name}4a >= ${name}4b" "type = long4"
+ gdb_test "ptype ${name}4a <= ${name}4b" "type = long4"
}
} else {
# scalar with scalar
gdb_test "ptype u${name}a <= u${name}b" "type = int"
gdb_test "ptype u${name}a >= u${name}b" "type = int"
# scalar with vector
- gdb_test "ptype u${name}4a > u${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}a < u${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a >= u${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}a <= u${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype u${name}4a > u${name}b" "type = ${type}4"
+ gdb_test "ptype u${name}a < u${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a >= u${name}b" "type = ${type}4"
+ gdb_test "ptype u${name}a <= u${name}4b" "type = ${type}4"
# vector with vector
- gdb_test "ptype u${name}4a > u${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a < u${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a >= u${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a <= u${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype u${name}4a > u${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a < u${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a >= u${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a <= u${name}4b" "type = ${type}4"
}
}
if { ${size} == 2 } {
# result type should be short for half precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a == ${name}b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}a != ${name}4b" "type = short \\\[4\\\]"
+ gdb_test "ptype ${name}4a == ${name}b" "type = short4"
+ gdb_test "ptype ${name}a != ${name}4b" "type = short4"
# vector with vector
- gdb_test "ptype ${name}4a == ${name}4b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}4a != ${name}4b" "type = short \\\[4\\\]"
+ gdb_test "ptype ${name}4a == ${name}4b" "type = short4"
+ gdb_test "ptype ${name}4a != ${name}4b" "type = short4"
} elseif { ${size} == 4 } {
# result type should be int for single precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a == ${name}b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}a != ${name}4b" "type = int \\\[4\\\]"
+ gdb_test "ptype ${name}4a == ${name}b" "type = int4"
+ gdb_test "ptype ${name}a != ${name}4b" "type = int4"
# vector with vector
- gdb_test "ptype ${name}4a == ${name}4b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}4a != ${name}4b" "type = int \\\[4\\\]"
+ gdb_test "ptype ${name}4a == ${name}4b" "type = int4"
+ gdb_test "ptype ${name}4a != ${name}4b" "type = int4"
} else { # ${size} == 8
# result type should be long for double precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a == ${name}b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}a != ${name}4b" "type = long \\\[4\\\]"
+ gdb_test "ptype ${name}4a == ${name}b" "type = long4"
+ gdb_test "ptype ${name}a != ${name}4b" "type = long4"
# vector with vector
- gdb_test "ptype ${name}4a == ${name}4b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}4a != ${name}4b" "type = long \\\[4\\\]"
+ gdb_test "ptype ${name}4a == ${name}4b" "type = long4"
+ gdb_test "ptype ${name}4a != ${name}4b" "type = long4"
}
} else {
# scalar with scalar
gdb_test "ptype u${name}a == u${name}b" "type = int"
gdb_test "ptype u${name}a != u${name}b" "type = int"
# scalar with vector
- gdb_test "ptype u${name}4a == u${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}a != u${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype u${name}4a == u${name}b" "type = ${type}4"
+ gdb_test "ptype u${name}a != u${name}4b" "type = ${type}4"
# vector with vector
- gdb_test "ptype u${name}4a == u${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a != u${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype u${name}4a == u${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a != u${name}4b" "type = ${type}4"
}
}
gdb_test "ptype u${name}a >> u${name}b" "type = (unsigned long|ulong)"
}
# scalar with vector
- gdb_test "ptype ${name}4a << ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a >> ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a << u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a >> u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype ${name}4a << ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4a >> ${name}b" "type = ${type}4"
+ gdb_test "ptype u${name}4a << u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4a >> u${name}b" "type = u${type}4"
# vector with vector
- gdb_test "ptype ${name}4a << ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a >> ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a << u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a >> u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype ${name}4a << ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a >> ${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a << u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a >> u${name}4b" "type = u${type}4"
}
# Bitwise operators
gdb_test "ptype u${name}a ^ u${name}b" "type = (unsigned long|ulong)"
}
# scalar with vector
- gdb_test "ptype ${name}4a & ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}a | ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a ^ ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a & u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}a | u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a ^ u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype ${name}4a & ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}a | ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a ^ ${name}b" "type = ${type}4"
+ gdb_test "ptype u${name}4a & u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}a | u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a ^ u${name}b" "type = u${type}4"
# vector with vector
- gdb_test "ptype ${name}4a & ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a | ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a ^ ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a & u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a | u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a ^ u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype ${name}4a & ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a | ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a ^ ${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a & u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a | u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a ^ u${name}4b" "type = u${type}4"
# scalar
if { ${size} < 8 } {
gdb_test "ptype ~u${name}a" "type = (unsigned long|ulong)"
}
# vector
- gdb_test "ptype ~${name}4a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ~u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype ~${name}4a" "type = ${type}4"
+ gdb_test "ptype ~u${name}4a" "type = u${type}4"
}
# Logical operators
if { ${size} == 2 } {
# result type should be short for half precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a && ${name}b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}a || ${name}4b" "type = short \\\[4\\\]"
+ gdb_test "ptype ${name}4a && ${name}b" "type = short4"
+ gdb_test "ptype ${name}a || ${name}4b" "type = short4"
# vector with vector
- gdb_test "ptype !${name}4a" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}4a && ${name}4b" "type = short \\\[4\\\]"
- gdb_test "ptype ${name}4a || ${name}4b" "type = short \\\[4\\\]"
+ gdb_test "ptype !${name}4a" "type = short4"
+ gdb_test "ptype ${name}4a && ${name}4b" "type = short4"
+ gdb_test "ptype ${name}4a || ${name}4b" "type = short4"
} elseif { ${size} == 4 } {
# result type should be int for single precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a && ${name}b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}a || ${name}4b" "type = int \\\[4\\\]"
+ gdb_test "ptype ${name}4a && ${name}b" "type = int4"
+ gdb_test "ptype ${name}a || ${name}4b" "type = int4"
# vector with vector
- gdb_test "ptype !${name}4a" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}4a && ${name}4b" "type = int \\\[4\\\]"
- gdb_test "ptype ${name}4a || ${name}4b" "type = int \\\[4\\\]"
+ gdb_test "ptype !${name}4a" "type = int4"
+ gdb_test "ptype ${name}4a && ${name}4b" "type = int4"
+ gdb_test "ptype ${name}4a || ${name}4b" "type = int4"
} else { # ${size} == 8
# result type should be long for double precision floating point vectors
# scalar with vector
- gdb_test "ptype ${name}4a && ${name}b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}a || ${name}4b" "type = long \\\[4\\\]"
+ gdb_test "ptype ${name}4a && ${name}b" "type = long4"
+ gdb_test "ptype ${name}a || ${name}4b" "type = long4"
# vector with vector
- gdb_test "ptype !${name}4a" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}4a && ${name}4b" "type = long \\\[4\\\]"
- gdb_test "ptype ${name}4a || ${name}4b" "type = long \\\[4\\\]"
+ gdb_test "ptype !${name}4a" "type = long4"
+ gdb_test "ptype ${name}4a && ${name}4b" "type = long4"
+ gdb_test "ptype ${name}4a || ${name}4b" "type = long4"
}
} else {
# unsigned scalar
# scalar
gdb_test "ptype !u${name}a" "type = int"
# vector
- gdb_test "ptype !${name}4a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype !u${name}4a" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype !${name}4a" "type = ${type}4"
+ gdb_test "ptype !u${name}4a" "type = ${type}4"
# scalar with vector
- gdb_test "ptype ${name}4a && ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}a || ${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a && ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}a || ${name}4b" "type = ${type}4"
# result type for unsigned vector operand is signed
- gdb_test "ptype u${name}4a && u${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}a || u${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype u${name}4a && u${name}b" "type = ${type}4"
+ gdb_test "ptype u${name}a || u${name}4b" "type = ${type}4"
# vector with vector
- gdb_test "ptype ${name}4a && ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a || ${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a && ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a || ${name}4b" "type = ${type}4"
# result type for unsigned vector operand is signed
- gdb_test "ptype u${name}4a && u${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype u${name}4a || u${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype u${name}4a && u${name}4b" "type = ${type}4"
+ gdb_test "ptype u${name}4a || u${name}4b" "type = ${type}4"
}
}
# scalar with scalar
gdb_test "ptype ${name}a ? ${name}b : ${name}a" "type = ${type}"
# scalar with vector
- gdb_test "ptype ${name}4a ? ${name}4b : ${name}a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a ? ${name}b : ${name}4a" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a ? ${name}4b : ${name}a" "type = ${type}4"
+ gdb_test "ptype ${name}4a ? ${name}b : ${name}4a" "type = ${type}4"
# vector with vector
- gdb_test "ptype ${name}4a ? ${name}4b : ${name}4a" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a ? ${name}4b : ${name}4a" "type = ${type}4"
if { !${isfloat} } {
# scalar with scalar
# scalar with scalar
gdb_test "ptype u${name}a ? u${name}b : u${name}a" "type = (unsigned ${type}|u${type})"
# scalar with vector
- gdb_test "ptype u${name}4a ? u${name}4b : u${name}a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a ? u${name}b : u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype u${name}4a ? u${name}4b : u${name}a" "type = u${type}4"
+ gdb_test "ptype u${name}4a ? u${name}b : u${name}4a" "type = u${type}4"
# vector with vector
- gdb_test "ptype u${name}4a ? u${name}4b : u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype u${name}4a ? u${name}4b : u${name}4a" "type = u${type}4"
}
}
gdb_test "ptype ${name}a *= ${name}b" "type = ${type}"
gdb_test "ptype ${name}a /= ${name}b" "type = ${type}"
# scalar with vector
- gdb_test "ptype ${name}4a = ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a += ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a -= ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4b *= ${name}a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4b /= ${name}a" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a = ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4a += ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4a -= ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4b *= ${name}a" "type = ${type}4"
+ gdb_test "ptype ${name}4b /= ${name}a" "type = ${type}4"
# vector with vector
- gdb_test "ptype ${name}4a = ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a += ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a -= ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4b *= ${name}4a" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4b /= ${name}4a" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a = ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a += ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a -= ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4b *= ${name}4a" "type = ${type}4"
+ gdb_test "ptype ${name}4b /= ${name}4a" "type = ${type}4"
if { !${isfloat} } {
# scalar with scalar
gdb_test "ptype ${name}a |= ${name}b" "type = ${type}"
gdb_test "ptype ${name}a ^= ${name}b" "type = ${type}"
# scalar with vector
- gdb_test "ptype ${name}4a %= ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a <<= ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a >>= ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a &= ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a |= ${name}b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a ^= ${name}b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a %= ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4a <<= ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4a >>= ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4a &= ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4a |= ${name}b" "type = ${type}4"
+ gdb_test "ptype ${name}4a ^= ${name}b" "type = ${type}4"
# vector with vector
- gdb_test "ptype ${name}4a %= ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a <<= ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a >>= ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a &= ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a |= ${name}4b" "type = ${type} \\\[4\\\]"
- gdb_test "ptype ${name}4a ^= ${name}4b" "type = ${type} \\\[4\\\]"
+ gdb_test "ptype ${name}4a %= ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a <<= ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a >>= ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a &= ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a |= ${name}4b" "type = ${type}4"
+ gdb_test "ptype ${name}4a ^= ${name}4b" "type = ${type}4"
# scalar with scalar
gdb_test "print/d u${name}a = u${name}b" " = 1"
gdb_test "ptype u${name}a |= u${name}b" "type = (unsigned ${type}|u${type})"
gdb_test "ptype u${name}a ^= u${name}b" "type = (unsigned ${type}|u${type})"
# scalar with vector
- gdb_test "ptype u${name}4a = u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a += u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a -= u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4b *= u${name}a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4b /= u${name}a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a %= u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a <<= u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a >>= u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a &= u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a |= u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a ^= u${name}b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype u${name}4a = u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4a += u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4a -= u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4b *= u${name}a" "type = u${type}4"
+ gdb_test "ptype u${name}4b /= u${name}a" "type = u${type}4"
+ gdb_test "ptype u${name}4a %= u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4a <<= u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4a >>= u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4a &= u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4a |= u${name}b" "type = u${type}4"
+ gdb_test "ptype u${name}4a ^= u${name}b" "type = u${type}4"
# vector with vector
- gdb_test "ptype u${name}4a = u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a += u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a -= u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4b *= u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4b /= u${name}4a" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a %= u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a <<= u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a >>= u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a &= u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a |= u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
- gdb_test "ptype u${name}4a ^= u${name}4b" "type = (unsigned ${type}|u${type}) \\\[4\\\]"
+ gdb_test "ptype u${name}4a = u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a += u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a -= u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4b *= u${name}4a" "type = u${type}4"
+ gdb_test "ptype u${name}4b /= u${name}4a" "type = u${type}4"
+ gdb_test "ptype u${name}4a %= u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a <<= u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a >>= u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a &= u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a |= u${name}4b" "type = u${type}4"
+ gdb_test "ptype u${name}4a ^= u${name}4b" "type = u${type}4"
}
}