< prev index next >

test/hotspot/gtest/aarch64/aarch64-asmtest.py

Print this page
*** 1767,10 ***
--- 1767,14 ---
                          ["lasta",   "__ sve_lasta(r0, __ B, p0, z15);",                   "lasta\tw0, p0, z15.b"],
                          ["lastb",   "__ sve_lastb(r1, __ B, p1, z16);",                   "lastb\tw1, p1, z16.b"],
                          ["lasta",   "__ sve_lasta(v0, __ B, p0, z15);",                   "lasta\tb0, p0, z15.b"],
                          ["lastb",   "__ sve_lastb(v1, __ B, p1, z16);",                   "lastb\tb1, p1, z16.b"],
                          ["index",   "__ sve_index(z6, __ S, 1, 1);",                      "index\tz6.s, #1, #1"],
+                         ["index",   "__ sve_index(z6, __ B, r5, 2);",                     "index\tz6.b, w5, #2"],
+                         ["index",   "__ sve_index(z6, __ H, r5, 3);",                     "index\tz6.h, w5, #3"],
+                         ["index",   "__ sve_index(z6, __ S, r5, 4);",                     "index\tz6.s, w5, #4"],
+                         ["index",   "__ sve_index(z7, __ D, r5, 5);",                     "index\tz7.d, x5, #5"],
                          ["cpy",     "__ sve_cpy(z7, __ H, p3, r5);",                      "cpy\tz7.h, p3/m, w5"],
                          ["tbl",     "__ sve_tbl(z16, __ S, z17, z18);",                   "tbl\tz16.s, {z17.s}, z18.s"],
                          ["ld1w",    "__ sve_ld1w_gather(z15, p0, r5, z16);",              "ld1w\t{z15.s}, p0/z, [x5, z16.s, uxtw #2]"],
                          ["ld1d",    "__ sve_ld1d_gather(z15, p0, r5, z16);",              "ld1d\t{z15.d}, p0/z, [x5, z16.d, uxtw #3]"],
                          ["st1w",    "__ sve_st1w_scatter(z15, p0, r5, z16);",             "st1w\t{z15.s}, p0, [x5, z16.s, uxtw #2]"],

*** 1809,11 ***
--- 1813,16 ---
                          ["uzp2",    "__ sve_uzp2(p0, __ H, p0, p1);",                     "uzp2\tp0.h, p0.h, p1.h"],
                          ["uzp2",    "__ sve_uzp2(p0, __ S, p0, p1);",                     "uzp2\tp0.s, p0.s, p1.s"],
                          ["uzp2",    "__ sve_uzp2(p0, __ D, p0, p1);",                     "uzp2\tp0.d, p0.d, p1.d"],
                          ["punpklo", "__ sve_punpklo(p1, p0);",                            "punpklo\tp1.h, p0.b"],
                          ["punpkhi", "__ sve_punpkhi(p1, p0);",                            "punpkhi\tp1.h, p0.b"],
+                         ["compact", "__ sve_compact(z16, __ S, z16, p1);",                "compact\tz16.s, p1, z16.s"],
+                         ["compact", "__ sve_compact(z16, __ D, z16, p1);",                "compact\tz16.d, p1, z16.d"],
                          ["ext",     "__ sve_ext(z17, z16, 63);",                          "ext\tz17.b, z17.b, z16.b, #63"],
+                         # SVE2 instructions
+                         ["histcnt", "__ sve_histcnt(z16, __ S, p0, z16, z16);",           "histcnt\tz16.s, p0/z, z16.s, z16.s"],
+                         ["histcnt", "__ sve_histcnt(z17, __ D, p0, z17, z17);",           "histcnt\tz17.d, p0/z, z17.d, z17.d"],
  ])
  
  print "\n// FloatImmediateOp"
  for float in ("2.0", "2.125", "4.0", "4.25", "8.0", "8.5", "16.0", "17.0", "0.125",
                "0.1328125", "0.25", "0.265625", "0.5", "0.53125", "1.0", "1.0625",

*** 1853,18 ***
--- 1862,21 ---
                         ["abs", "ZPZ", "m"],
                         ["add", "ZPZ", "m", "dn"],
                         ["and", "ZPZ", "m", "dn"],
                         ["asr", "ZPZ", "m", "dn"],
                         ["bic", "ZPZ", "m", "dn"],
+                        ["clz", "ZPZ", "m"],
                         ["cnt", "ZPZ", "m"],
                         ["eor", "ZPZ", "m", "dn"],
                         ["lsl", "ZPZ", "m", "dn"],
                         ["lsr", "ZPZ", "m", "dn"],
                         ["mul", "ZPZ", "m", "dn"],
                         ["neg", "ZPZ", "m"],
                         ["not", "ZPZ", "m"],
                         ["orr", "ZPZ", "m", "dn"],
+                        ["rbit", "ZPZ", "m"],
+                        ["revb", "ZPZ", "m"],
                         ["smax", "ZPZ", "m", "dn"],
                         ["smin", "ZPZ", "m", "dn"],
                         ["sub", "ZPZ", "m", "dn"],
                         ["fabs", "ZPZ", "m"],
                         ["fadd", "ZPZ", "m", "dn"],

*** 1902,12 ***
  print "\n    __ bind(forth);"
  outfile.write("forth:\n")
  
  outfile.close()
  
! # compile for sve with 8.3 and sha3 because of SHA3 crypto extension.
! subprocess.check_call([AARCH64_AS, "-march=armv8.3-a+sha3+sve", "aarch64ops.s", "-o", "aarch64ops.o"])
  
  print
  print "/*"
  print "*/"
  
--- 1914,13 ---
  print "\n    __ bind(forth);"
  outfile.write("forth:\n")
  
  outfile.close()
  
! # compile for sve with armv9-a+sha3 because of SHA3 crypto extension and SVE2 instructions.
! # armv9-a enables sve and sve2 by default.
+ subprocess.check_call([AARCH64_AS, "-march=armv9-a+sha3", "aarch64ops.s", "-o", "aarch64ops.o"])
  
  print
  print "/*"
  print "*/"
  
< prev index next >