# Copyright 2010, 2011 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
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
#
# Contributed by Ken Werner <ken.werner@de.ibm.com>.
#
# Tests component access of OpenCL vectors.

if $tracelevel {
    strace $tracelevel
}

load_lib opencl.exp

if { [skip_opencl_tests] } {
    return 0
}

set testfile "vec_comps"
set clprogram [remote_download target ${srcdir}/${subdir}/${testfile}.cl]

# Compile the generic OpenCL host app
if { [gdb_compile_opencl_hostapp "${clprogram}" "${testfile}" "" ] != "" } {
    untested ${testfile}.exp
    return -1
}

# Load the OpenCL app
clean_restart ${testfile}

# Set breakpoint at the OpenCL kernel
gdb_test "tbreak testkernel" \
    "" \
    "Set pending breakpoint" \
    ".*Function \"testkernel\" not defined.*Make breakpoint pending.*y or \\\[n\\\]. $" \
    "y"

gdb_run_cmd
gdb_test "" ".*reakpoint.*1.*testkernel.*" "run"

# Continue to the marker
gdb_breakpoint [gdb_get_line_number "marker" "${clprogram}"]
gdb_continue_to_breakpoint "marker"

# Check if the language was switched to opencl
gdb_test "show language" "The current source language is \"auto; currently opencl\"\."

# Retrieve some information about the OpenCL version and the availability of extensions
set opencl_version [get_integer_valueof "opencl_version" 0]
set have_cl_khr_fp64 [get_integer_valueof "have_cl_khr_fp64" 0]
set have_cl_khr_fp16 [get_integer_valueof "have_cl_khr_fp16" 0]

# Sanity checks
proc check_basic { name type size } {
  gdb_test "ptype ${name}" "type = ${type} \\\[16\\\]"
  gdb_test "p sizeof(${name})" " = [expr ${size} * 16]"
  gdb_test "print/d ${name}" " = \\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\\}"
}

proc check_type { name type alttype } {
  gdb_test "whatis ${name}.lo" "type = ${type}8"
  gdb_test "whatis ${name}.hi" "type = ${type}8"
  gdb_test "whatis ${name}.even" "type = ${type}8"
  gdb_test "whatis ${name}.odd" "type = ${type}8"
  gdb_test "whatis ${name}.low" "Invalid OpenCL vector component accessor low"
  gdb_test "whatis ${name}.high" "Invalid OpenCL vector component accessor high"

  gdb_test "whatis ${name}.hi.even" "type = ${type}4"
  gdb_test "whatis ${name}.odd.odd.lo" "type = ${type}2"
  gdb_test "whatis ${name}.even.hi.lo.odd" "type = ${alttype}|${type}"

  gdb_test "whatis ${name}.x" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.y" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.z" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.w" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.v" "Invalid OpenCL vector component accessor v"

  gdb_test "whatis ${name}.xy" "type = ${type}2"
  gdb_test "whatis ${name}.xx" "type = ${type}2"
  gdb_test "whatis ${name}.wy" "type = ${type}2"
  gdb_test "whatis ${name}.zv" "Invalid OpenCL vector component accessor zv"

  gdb_test "whatis ${name}.xyz" "type = ${type}3"
  gdb_test "whatis ${name}.yxy" "type = ${type}3"
  gdb_test "whatis ${name}.yzx" "type = ${type}3"
  gdb_test "whatis ${name}.yzv" "Invalid OpenCL vector component accessor yzv"

  gdb_test "whatis ${name}.xywz" "type = ${type}4"
  gdb_test "whatis ${name}.zzyy" "type = ${type}4"
  gdb_test "whatis ${name}.wwww" "type = ${type}4"
  gdb_test "whatis ${name}.yxwv" "Invalid OpenCL vector component accessor yxwv"
  gdb_test "whatis ${name}.zyxwv" "Invalid OpenCL vector component accessor zyxwv"

  gdb_test "whatis ${name}.xy.x" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.wzyx.yy" "type = ${type}2"
  gdb_test "whatis ${name}.wzyx.yx.x" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.xyzw.w" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.xy.z" "Invalid OpenCL vector component accessor z"

  gdb_test "whatis ${name}.s0" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.s9" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.sa" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.sf" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.sF" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.sg" "Invalid OpenCL vector component accessor sg"
  gdb_test "whatis ${name}.sG" "Invalid OpenCL vector component accessor sG"
  gdb_test "whatis ${name}.Sg" "Invalid OpenCL vector component accessor Sg"
  gdb_test "whatis ${name}.SG" "Invalid OpenCL vector component accessor SG"

  gdb_test "whatis ${name}.s01" "type = ${type}2"
  gdb_test "whatis ${name}.s00" "type = ${type}2"
  gdb_test "whatis ${name}.sF0" "type = ${type}2"
  gdb_test "whatis ${name}.S42" "type = ${type}2"

  gdb_test "whatis ${name}.s567" "type = ${type}3"
  gdb_test "whatis ${name}.S333" "type = ${type}3"
  gdb_test "whatis ${name}.Sf0A" "type = ${type}3"
  gdb_test "whatis ${name}.SB1D" "type = ${type}3"
  gdb_test "whatis ${name}.s01g" "Invalid OpenCL vector component accessor s01g"

  gdb_test "whatis ${name}.s9876" "type = ${type}4"
  gdb_test "whatis ${name}.sFFFF" "type = ${type}4"
  gdb_test "whatis ${name}.sCafe" "type = ${type}4"
  gdb_test "whatis ${name}.Sf001" "type = ${type}4"
  gdb_test "whatis ${name}.s1fg2" "Invalid OpenCL vector component accessor s1fg2"
  gdb_test "whatis ${name}.s012345" "Invalid OpenCL vector component accessor s012345"

  gdb_test "whatis ${name}.s00000000" "type = ${type}8"
  gdb_test "whatis ${name}.s00224466" "type = ${type}8"
  gdb_test "whatis ${name}.sDEADBEEF" "type = ${type}8"
  gdb_test "whatis ${name}.Sa628c193" "type = ${type}8"

  gdb_test "whatis ${name}.s876543210" "Invalid OpenCL vector component accessor s876543210"
  gdb_test "whatis ${name}.s0123456789abcde" "Invalid OpenCL vector component accessor s0123456789abcde"

  gdb_test "whatis ${name}.s0123456789aBcDeF" "type = ${type}16"
  gdb_test "whatis ${name}.s0022446688AACCFF" "type = ${type}16"
  gdb_test "whatis ${name}.S0123456776543210" "type = ${type}16"
  gdb_test "whatis ${name}.sFEDCBA9876543210" "type = ${type}16"

  gdb_test "whatis ${name}.sfedcba98.S0246" "type = ${type}4"
  gdb_test "whatis ${name}.sfedcba98.S0246.s13" "type = ${type}2"
  gdb_test "whatis ${name}.sfedcba98.S0246.s13.s0" "type = ${alttype}|${type}"
  gdb_test "whatis ${name}.s0123456789abcdef.s22" "type = ${type}2"

  gdb_test "whatis ${name}.hi.s7654.wx" "type = ${type}2"
  gdb_test "whatis ${name}.s0123456789abcdef.even.lo" "type = ${type}4"
  gdb_test "whatis ${name}.odd.xyzw.s23" "type = ${type}2"
  gdb_test "whatis ${name}.xyzw.hi.odd" "type = ${alttype}|${type}"

  gdb_test "ptype ${name}.lo" "type = ${type} \\\[8\\\]"
  gdb_test "ptype ${name}.hi" "type = ${type} \\\[8\\\]"
  gdb_test "ptype ${name}.even" "type = ${type} \\\[8\\\]"
  gdb_test "ptype ${name}.odd" "type = ${type} \\\[8\\\]"

  gdb_test "ptype ${name}.hi.even" "type = ${type} \\\[4\\\]"
  gdb_test "ptype ${name}.odd.odd.lo" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.even.hi.lo.odd" "type = ${alttype}|${type}"

  gdb_test "ptype ${name}.x" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.y" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.z" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.w" "type = ${alttype}|${type}"

  gdb_test "ptype ${name}.xy" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.xx" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.wy" "type = ${type} \\\[2\\\]"

  gdb_test "ptype ${name}.xyz" "type = ${type} \\\[3\\\]"
  gdb_test "ptype ${name}.yxy" "type = ${type} \\\[3\\\]"
  gdb_test "ptype ${name}.yzx" "type = ${type} \\\[3\\\]"

  gdb_test "ptype ${name}.xywz" "type = ${type} \\\[4\\\]"
  gdb_test "ptype ${name}.zzyy" "type = ${type} \\\[4\\\]"
  gdb_test "ptype ${name}.wwww" "type = ${type} \\\[4\\\]"

  gdb_test "ptype ${name}.xy.x" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.wzyx.yy" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.wzyx.yx.x" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.xyzw.w" "type = ${alttype}|${type}"

  gdb_test "ptype ${name}.s0" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.s9" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.sa" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.sf" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.sF" "type = ${alttype}|${type}"

  gdb_test "ptype ${name}.s01" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.s00" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.sF0" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.S42" "type = ${type} \\\[2\\\]"

  gdb_test "ptype ${name}.s567" "type = ${type} \\\[3\\\]"
  gdb_test "ptype ${name}.S333" "type = ${type} \\\[3\\\]"
  gdb_test "ptype ${name}.Sf0A" "type = ${type} \\\[3\\\]"
  gdb_test "ptype ${name}.SB1D" "type = ${type} \\\[3\\\]"

  gdb_test "ptype ${name}.s9876" "type = ${type} \\\[4\\\]"
  gdb_test "ptype ${name}.sFFFF" "type = ${type} \\\[4\\\]"
  gdb_test "ptype ${name}.sCafe" "type = ${type} \\\[4\\\]"
  gdb_test "ptype ${name}.Sf001" "type = ${type} \\\[4\\\]"

  gdb_test "ptype ${name}.s00000000" "type = ${type} \\\[8\\\]"
  gdb_test "ptype ${name}.s00224466" "type = ${type} \\\[8\\\]"
  gdb_test "ptype ${name}.sDEADBEEF" "type = ${type} \\\[8\\\]"
  gdb_test "ptype ${name}.Sa628c193" "type = ${type} \\\[8\\\]"

  gdb_test "ptype ${name}.s0123456789aBcDeF" "type = ${type} \\\[16\\\]"
  gdb_test "ptype ${name}.s0022446688AACCFF" "type = ${type} \\\[16\\\]"
  gdb_test "ptype ${name}.S0123456776543210" "type = ${type} \\\[16\\\]"
  gdb_test "ptype ${name}.sFEDCBA9876543210" "type = ${type} \\\[16\\\]"

  gdb_test "ptype ${name}.sfedcba98.S0246" "type = ${type} \\\[4\\\]"
  gdb_test "ptype ${name}.sfedcba98.S0246.s13" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.sfedcba98.S0246.s13.s0" "type = ${alttype}|${type}"
  gdb_test "ptype ${name}.s0123456789abcdef.s22" "type = ${type} \\\[2\\\]"

  gdb_test "ptype ${name}.hi.s7654.wx" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.s0123456789abcdef.even.lo" "type = ${type} \\\[4\\\]"
  gdb_test "ptype ${name}.odd.xyzw.s23" "type = ${type} \\\[2\\\]"
  gdb_test "ptype ${name}.xyzw.hi.odd" "type = ${alttype}|${type}"
}

proc check_sizeof { name size } {
  gdb_test "print sizeof (${name}.lo)" " = [expr $size * 8]"
  gdb_test "print sizeof (${name}.hi)" " = [expr $size * 8]"
  gdb_test "print sizeof (${name}.even)" " = [expr $size * 8]"
  gdb_test "print sizeof (${name}.odd)" " = [expr $size * 8]"

  gdb_test "print sizeof (${name}.hi.even)" " = [expr $size * 4]"
  gdb_test "print sizeof (${name}.odd.odd.lo)" " = [expr $size * 2]"
  gdb_test "print sizeof (${name}.even.hi.lo.odd)" " = $size"

  gdb_test "print sizeof (${name}.x)" " = $size"
  gdb_test "print sizeof (${name}.xy)" " = [expr $size * 2]"
  gdb_test "print sizeof (${name}.xyz)" " = [expr $size * 4]"
  gdb_test "print sizeof (${name}.xyzw)" " = [expr $size * 4]"

  gdb_test "print sizeof (${name}.xy.x)" " = $size"
  gdb_test "print sizeof (${name}.wzyx.yy)" " = [expr $size * 2]"
  gdb_test "print sizeof (${name}.wzyx.yx.x)" " = $size"
  gdb_test "print sizeof (${name}.xyzw.w)" " = $size"

  gdb_test "print sizeof (${name}.s0)" " = $size"
  gdb_test "print sizeof (${name}.s01)" " = [expr $size * 2]"
  gdb_test "print sizeof (${name}.s012)" " = [expr $size * 4]"
  gdb_test "print sizeof (${name}.s0123)" " = [expr $size * 4]"
  gdb_test "print sizeof (${name}.s01234567)" " = [expr $size * 8]"
  gdb_test "print sizeof (${name}.s0123456789abcdef)" " = [expr $size * 16]"

  gdb_test "print sizeof (${name}.sfedcba98.S0246)" " = [expr $size * 4]"
  gdb_test "print sizeof (${name}.sfedcba98.S0246.s13)" " = [expr $size * 2]"
  gdb_test "print sizeof (${name}.sfedcba98.S0246.s13.s0)" " = $size"
  gdb_test "print sizeof (${name}.s0123456789abcdef.s22)" " = [expr $size * 2]"

  gdb_test "print sizeof (${name}.hi.s7654.wx)" " = [expr $size * 2]"
  gdb_test "print sizeof (${name}.s0123456789abcdef.even.lo)" " = [expr $size * 4]"
  gdb_test "print sizeof (${name}.odd.xyzw.s23)" " = [expr $size * 2]"
  gdb_test "print sizeof (${name}.xyzw.hi.odd)" " = $size"
}

# OpenCL vector component access
proc check_access { name type } {
  gdb_test "print/d ${name}.lo" " = \\{0, 1, 2, 3, 4, 5, 6, 7\\}"
  gdb_test "print/d ${name}.hi" " = \\{8, 9, 10, 11, 12, 13, 14, 15\\}"
  gdb_test "print/d ${name}.even" " = \\{0, 2, 4, 6, 8, 10, 12, 14\\}"
  gdb_test "print/d ${name}.odd" " = \\{1, 3, 5, 7, 9, 11, 13, 15\\}"

  gdb_test "print/d ${name}.hi.even" " = \\{8, 10, 12, 14\\}"
  gdb_test "print/d ${name}.odd.odd.lo" " = \\{3, 7\\}"
  gdb_test "print/d ${name}.even.hi.lo.odd" " = 10"

  gdb_test "print/d ${name}.x" " = 0"
  gdb_test "print/d ${name}.y" " = 1"
  gdb_test "print/d ${name}.z" " = 2"
  gdb_test "print/d ${name}.w" " = 3"

  gdb_test "print/d ${name}.xy" " = \\{0, 1\\}"
  gdb_test "print/d ${name}.xx" " = \\{0, 0\\}"
  gdb_test "print/d ${name}.wy" " = \\{3, 1\\}"

  gdb_test "print/d ${name}.xyz" " = \\{0, 1, 2\\}"
  gdb_test "print/d ${name}.yxy" " = \\{1, 0, 1\\}"
  gdb_test "print/d ${name}.yzx" " = \\{1, 2, 0\\}"

  gdb_test "print/d ${name}.xywz" " = \\{0, 1, 3, 2\\}"
  gdb_test "print/d ${name}.zzyy" " = \\{2, 2, 1, 1\\}"
  gdb_test "print/d ${name}.wwww" " = \\{3, 3, 3, 3\\}"

  gdb_test "print/d ${name}.xy.x" " = 0"
  gdb_test "print/d ${name}.wzyx.yy" " = \\{2, 2\\}"
  gdb_test "print/d ${name}.wzyx.yx.x" " = 2"
  gdb_test "print/d ${name}.xyzw.w" " = 3"

  for {set i 0} {$i < 16} {incr i} {
    gdb_test "print/d ${name}.s[format "%x" $i]" " = $i"
    gdb_test "print/d ${name}.S[format "%x" $i]" " = $i"
    if {$i > 9} {
      gdb_test "print/d ${name}.s[format "%X" $i]" " = $i"
      gdb_test "print/d ${name}.S[format "%X" $i]" " = $i"
    }
  }

  gdb_test "print/d ${name}.s01" " = \\{0, 1\\}"
  gdb_test "print/d ${name}.s00" " = \\{0, 0\\}"
  gdb_test "print/d ${name}.sF0" " = \\{15, 0\\}"
  gdb_test "print/d ${name}.S42" " = \\{4, 2\\}"

  gdb_test "print/d ${name}.s567" " = \\{5, 6, 7\\}"
  gdb_test "print/d ${name}.S333" " = \\{3, 3, 3\\}"
  gdb_test "print/d ${name}.Sf0A" " = \\{15, 0, 10\\}"
  gdb_test "print/d ${name}.SB1D" " = \\{11, 1, 13\\}"

  gdb_test "print/d ${name}.s9876" " = \\{9, 8, 7, 6\\}"
  gdb_test "print/d ${name}.sFFFF" " = \\{15, 15, 15, 15\\}"
  gdb_test "print/d ${name}.sCafe" " = \\{12, 10, 15, 14\\}"
  gdb_test "print/d ${name}.Sf001" " = \\{15, 0, 0, 1\\}"

  gdb_test "print/d ${name}.s00000000" " = \\{0, 0, 0, 0, 0, 0, 0, 0\\}"
  gdb_test "print/d ${name}.s00224466" " = \\{0, 0, 2, 2, 4, 4, 6, 6\\}"
  gdb_test "print/d ${name}.sDEADBEEF" " = \\{13, 14, 10, 13, 11, 14, 14, 15\\}"
  gdb_test "print/d ${name}.Sa628c193" " = \\{10, 6, 2, 8, 12, 1, 9, 3\\}"

  gdb_test "print/d ${name}.s0123456789aBcDeF" " = \\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15\\}"
  gdb_test "print/d ${name}.s0022446688AACCEE" " = \\{0, 0, 2, 2, 4, 4, 6, 6, 8, 8, 10, 10, 12, 12, 14, 14\\}"
  gdb_test "print/d ${name}.S0123456776543210" " = \\{0, 1, 2, 3, 4, 5, 6, 7, 7, 6, 5, 4, 3, 2, 1, 0\\}"
  gdb_test "print/d ${name}.sFEDCBA9876543210" " = \\{15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0\\}"

  gdb_test "print/d ${name}.sfedcba98.S0246" " = \\{15, 13, 11, 9\\}"
  gdb_test "print/d ${name}.sfedcba98.S0246.s13" " = \\{13, 9\\}"
  gdb_test "print/d ${name}.sfedcba98.S0246.s13.s0" " = 13"
  gdb_test "print/d ${name}.s0123456789abcdef.s22" " = \\{2, 2\\}"

  gdb_test "print/d ${name}.hi.s7654.wx" " = \\{12, 15\\}"
  gdb_test "print/d ${name}.s0123456789abcdef.even.lo" " = \\{0, 2, 4, 6\\}"
  gdb_test "print/d ${name}.odd.xyzw.s23" " = \\{5, 7\\}"
  gdb_test "print/d ${name}.xyzw.hi.odd" " = 3"

  # lvalue tests
  for {set i 0} {$i < 16} {incr i} {
    gdb_test_no_output "set variable ${name}.s[format "%x" $i] = [expr 15 - $i]"
    gdb_test "print/d ${name}.s[format "%x" $i]" " = [expr 15 - $i]"
  }
  gdb_test "print/d ${name}" " = \\{15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0\\}"

  gdb_test_no_output "set variable ${name}.s02468ace = ${name}.s13579bdf"
  gdb_test "print/d ${name}" " = \\{14, 14, 12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 0, 0\\}"

  gdb_test_no_output "set variable ${name}.wzyx = ${name}.even.odd"
  gdb_test "print/d ${name}" " = \\{0, 4, 8, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 0, 0\\}"

  gdb_test_no_output "set variable ${name}.odd.lo = ${name}.hi.even"
  gdb_test "print/d ${name}" " = \\{0, 6, 8, 4, 10, 2, 8, 0, 6, 6, 4, 4, 2, 2, 0, 0\\}"

  gdb_test_no_output "set variable ${name}.hi.hi.hi = ${name}.lo.s1623.lo"
  gdb_test "print/d ${name}" " = \\{0, 6, 8, 4, 10, 2, 8, 0, 6, 6, 4, 4, 2, 2, 6, 8\\}"
}

proc do_check { name type alttype size } {
  check_basic ${name} ${alttype} ${size}
  check_type  ${name} ${type} ${alttype}
  check_sizeof ${name} ${size}
  check_access ${name} ${alttype}
}

do_check "c16" "char" "char" 1
do_check "uc16" "uchar" "unsigned char" 1
do_check "s16" "short" "short" 2
do_check "us16" "ushort" "unsigned short" 2
do_check "i16" "int" "int" 4
do_check "ui16" "uint" "unsigned int" 4
do_check "l16" "long" "long" 8
do_check "ul16" "ulong" "unsigned long" 8
if { ${have_cl_khr_fp16} } {
  do_check "h16" "half" "half" 2
}
do_check "f16" "float" "float" 4
if { ${have_cl_khr_fp64} } {
  do_check "d16" "double" "double" 8
}

# Delete the OpenCL program source
remote_file target delete ${clprogram}
