Commit Graph

444 Commits

Author SHA1 Message Date
cadobot[bot]
b26727cb5e all: upgrade direct dependencies (#390)
Auto-generated upgrade of module dependencies.

Co-authored-by: cadobot[bot] <104697117+cadobot[bot]@users.noreply.github.com>
2023-05-02 05:31:17 +00:00
cadobot[bot]
484e25ca66 tests/thirdparty: update package metadata (#389)
Auto-generated update of third-party package metadata.

Co-authored-by: cadobot[bot] <104697117+cadobot[bot]@users.noreply.github.com>
2023-05-01 05:33:11 +00:00
cadobot[bot]
9e39c75709 all: upgrade direct dependencies (#385)
Auto-generated upgrade of module dependencies.

Co-authored-by: cadobot[bot] <104697117+cadobot[bot]@users.noreply.github.com>
2023-04-02 05:29:55 +00:00
cadobot[bot]
cb44ab3b92 tests/thirdparty: update package metadata (#384)
Auto-generated update of third-party package metadata.

Co-authored-by: cadobot[bot] <104697117+cadobot[bot]@users.noreply.github.com>
2023-04-01 05:31:47 +00:00
Vaughn Iverson
fc7bbb86e5 internal/opcodesextra: fix actions for VNNI and VBMI2 shifts (#372)
Fix the destination register actions for VNNI and VBMI2 concatenate and
variable shift instructions `VPSH{L,R}DV{W,D,Q}`. In the case of mask merging,
the action should be `RW` not `W`.

Prior to this change, the bug manifests as incorrect vector register
scheduling when `avo` doesn't recognize that these instructions have a data
dependency on the destination register.

See:
https://www.felixcloutier.com/x86/vpdpbusd
https://www.felixcloutier.com/x86/vpdpbusds
https://www.felixcloutier.com/x86/vpshldv
https://www.felixcloutier.com/x86/vpshrdv
2023-03-06 22:52:03 -08:00
Michael McLoughlin
577048e7d7 script: update tool dependencies (#380) 2023-03-05 20:39:41 -08:00
Michael McLoughlin
5935b03afd ci: skip entire autoland job for non-bot users (#382)
In contributor PRs such as #372 we see that the pr/autoland job fails
due to permissions issues obtaining an app token from a fork.

This job is actually only required to auto-land bot PRs. Instead of
skipping just the auto-land setting step, we should be skipping the
entire thing.

Fixes #381
2023-03-05 20:32:25 -08:00
Michael McLoughlin
34ac353c14 all: remove +build tags (#377)
Commit 759be3dad9 bumped our Go
requirement to 1.18 which allows us to drop support for old-style
`+build` tags. This change runs `go fix ./...` to remove them, and
updates some remaining code generators that produced `+build` lines.
2023-03-05 20:30:01 -08:00
Michael McLoughlin
759be3dad9 all: require go 1.18 (#379)
Require Go 1.18 in module file. Resolve related lint issues.
2023-03-05 20:04:45 -08:00
Michael McLoughlin
4e72ca720b tests/thirdparty: update golang/go tests to 1.20.1 (#378)
The Go third-party compatibility tests were pinned to the release
candidate version. This change uses the now official Go 1.20.1 release
tag.
2023-03-05 19:57:12 -08:00
Michael McLoughlin
1bba0bed7f ci: bump to go 1.20 (#375)
* Update CI Go version to 1.20/1.19
* Update `golangci-lint` to v1.51.2
* Update coverage collection to use new Go 1.20 tools
* Update coverage job to only run on latest Go version

Fixes #367
2023-03-05 14:22:23 -08:00
Michael McLoughlin
881df56d21 ci: remove "Configure Go Environment" step (#376)
No longer required given updates to `actions/setup-go`.
2023-03-05 12:32:52 -08:00
cadobot[bot]
2f170cedd5 all: upgrade direct dependencies (#374)
Co-authored-by: cadobot[bot] <104697117+cadobot[bot]@users.noreply.github.com>
2023-03-02 05:31:40 +00:00
cadobot[bot]
296d3e252d tests/thirdparty: update package metadata (#373)
Co-authored-by: cadobot[bot] <104697117+cadobot[bot]@users.noreply.github.com>
2023-03-01 05:32:14 +00:00
cadobot[bot]
fb97a21177 all: upgrade direct dependencies (#371)
Co-authored-by: cadobot[bot] <104697117+cadobot[bot]@users.noreply.github.com>
2023-02-02 05:30:31 +00:00
cadobot[bot]
c3942d0744 tests/thirdparty: update package metadata (#370)
Co-authored-by: cadobot[bot] <104697117+cadobot[bot]@users.noreply.github.com>
2023-02-01 05:31:34 +00:00
Michael McLoughlin
1efb0cb7c9 Revert "script: fix golangci-lint install (#368)" (#369)
This reverts commit b2ed9c77ec.

It seems Github fixed the underlying issue:

https://github.com/orgs/community/discussions/45590#discussioncomment-4802887
2023-01-28 11:51:30 -08:00
Michael McLoughlin
b2ed9c77ec script: fix golangci-lint install (#368)
Updates golangci-lint install to incorporate the fix for
golangci/golangci-lint#3509, which was affecting CI tests, for example:

https://github.com/mmcloughlin/avo/actions/runs/4030013813
2023-01-27 21:50:45 -08:00
Michael McLoughlin
b01bfffcdd internal/opcodesextra: minor comment tweaks (#366) 2023-01-14 16:12:42 -08:00
Michael McLoughlin
9e56971ed6 internal/opcodesextra: _yvblendmpd forms helper (#365)
Use helper function for instructions sharing the `_yvblendmpd` family of forms.
2023-01-14 13:55:36 -08:00
Michael McLoughlin
e2c0a40f50 all: VBMI2 instructions (#363)
Adds the "Vector Bit Manipulation Instructions 2" instruction set.

These new instructions are added via the `opcodesextra` mechanism #345, since
they're missing from the opcodes database.

Contributed by @vsivsi. Extracted from #349 with simplifications.
Specifically, as prompted by the `dupl` linter we extract some common forms
lists into a helper `forms.go` file.

Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
2023-01-14 13:25:44 -08:00
Michael McLoughlin
05ed388d0f all: BITALG instructions (#362)
Adds the AVX-512 Bit Algorithms instruction set.

These new instructions are added via the `opcodesextra` mechanism #345, since
they're missing from the opcodes database.

Contributed by @vsivsi. Extracted from #234 with simplifications for AVX-512
form expansion.

Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
2023-01-10 18:55:12 -08:00
Michael McLoughlin
a42c8ae281 all: VPOPCNTDQ instructions (#361)
Adds the VPOPCNTDQ instruction set, providing packed population count for
double and quadword integers.

These are added via the `opcodesextra` mechanism #345, since they're missing
from the opcodes database. In this case the 512-bit non-AVX512VL forms are
added here as well as the opcodes database, but they're deduplicated later.

Contributed by @vsivsi. Extracted from #234 with simplifications for AVX-512
form expansion.

Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
2023-01-09 22:36:27 -08:00
Michael McLoughlin
7dac51aabf all: VPCLMULQDQ instruction (#360)
Adds VEX and EVEX encoded versions of the `PCLMULQDQ` carry-less quadword
multiplication instruction.

These are added via the `opcodesextra` mechanism #345, since they're missing
from the opcodes database.

Contributed by @vsivsi. Extracted from #349 with minor tweaks.

Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
2023-01-09 21:38:43 -08:00
Michael McLoughlin
b893b32213 all: VNNI instructions (#359)
Adds "Vector Neural Network Instructions" instruction set.

These are added via the `opcodesextra` mechanism #345, since they're missing
from the opcodes database.

Contributed by @vsivsi. Extracted from #349 with some tweaks.

Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
2023-01-08 11:42:48 -08:00
Michael McLoughlin
0569748e19 all: VAES instructions (#358)
Adds "Vector Advanced Encryption Standard" instruction set.

These are added via the `opcodesextra` mechanism #345, since they're missing
from the opcodes database.

Contributed by @vsivsi. Extracted from #349 with minor tweaks.

Co-authored-by: Vaughn Iverson <vsivsi@yahoo.com>
2023-01-07 21:55:36 -08:00
Michael McLoughlin
92f38ce96d .github/actions: fix bot author template (#357)
Many bot commits have landed with an incorrectly templated author name, for
example 67039b7ed9 has:

Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>

This PR fixes the bad template.
2023-01-07 20:57:46 -08:00
Michael McLoughlin
d5e3835a60 .github: use app token for third-party metadata tests (#356)
Use bot app token for third-party metadata tests.

These tests have hit HTTP 403 errors, speculated due to hitting restrictive
rate limits. Github app tokens have much higher rate limits.
2023-01-07 20:14:32 -08:00
Michael McLoughlin
12b5abca55 tests/thirdparty: add crypto/internal/bigmod (#355)
Add test case for avo generator in standard library crypto/internal/bigmod.

https://github.com/golang/go/tree/go1.20rc2/src/crypto/internal/bigmod
https://golang.org/cl/452095
https://words.filippo.io/dispatches/go-1-20-cryptography/

Closes #354
2023-01-07 13:17:16 -08:00
cadobot[bot]
67039b7ed9 tests/thirdparty: update package metadata (#353)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2023-01-07 18:54:05 +00:00
Michael McLoughlin
8f726c0f4d doc: fix README ci badge (#352)
Update URL for CI status badge in README.

See badges/shields#8671
2023-01-07 10:46:51 -08:00
cadobot[bot]
29ef3e4c04 all: upgrade direct dependencies (#351)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2023-01-02 05:30:51 +00:00
cadobot[bot]
ead3fb5eb8 all: upgrade direct dependencies (#348)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2022-12-02 05:30:32 +00:00
cadobot[bot]
da65e08c23 tests/thirdparty: update package metadata (#347)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2022-12-01 05:32:06 +00:00
Michael McLoughlin
bf1d055620 internal/data: bump versions (#346)
Bumps data dependencies to the latest versions.

Fixes a bug in the downloader that was causing duplicate licenses.
2022-11-27 20:57:30 -08:00
Michael McLoughlin
946323570a all: add GFNI instructions (#344)
Adds support for the GFNI "Galois Field New Instructions" instruction set.

These instructions are not included in the Opcodes database, therefore they're
added using the "extras" mechanism introduced in #345.

For simplicity, the loading phase is updated slightly so that AVX-512 form
expansion rules are applied after extras are added to the list. This greatly
reduces the number of forms that have to be specified by hand.

Based on #343
Fixes #335

Co-authored-by: Klaus Post <klauspost@gmail.com>
2022-11-27 18:53:46 -08:00
Michael McLoughlin
a0ea0f3e6f internal/opcodesextra: curated extra instructions (#345)
Supporting extra instructions not included in the Opcodes database is
currently a challenge. Short of migrating to an entirely different source
(such as #23), the options are either to patch the XML data file or to append
additional instructions at the loading phase.

An example of patching the XML was shown in the as-yet unlanded PR #234. This
shows the XML patching approach is unwieldy and requires more information than
we actually need (for example instruction form encodings).

In #335 we discussed the alternative of adding extra instructions during
loading. This has the advantage of using avo's simpler internal data
structure.

This PR prepares for using that approach by adding an `internal/opcodesextra`
package, intended to contain manually curated lists of extra instructions to
add to the instruction database during loading. At the moment, the only
instruction added here is the `MOVLQZX` instruction that's already handled
this way.

Updates #335 #234 #23
2022-11-27 18:32:31 -08:00
Michael McLoughlin
fa3cfb0153 .github: exclude bot commits from auto-generated release notes (#342) 2022-11-26 19:59:21 -08:00
Michael McLoughlin
127528d117 build: mov deduction for booleans (#341)
Updates #336
2022-11-26 19:30:55 -08:00
Michael McLoughlin
ef60a33bf0 ci: upgrade actions (#340) 2022-11-26 15:00:56 -08:00
cadobot[bot]
792b2c437a tests/thirdparty: update package metadata (#339)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2022-11-26 22:18:44 +00:00
Michael McLoughlin
8e371a3c87 ci: allow metadata workflow manual trigger (#338) 2022-11-26 14:13:37 -08:00
Michael McLoughlin
81aabe5ce6 ci: setup go env in metadata workflow (#337)
Fixes issue in metadata workflow where golangci-lint install fails because $GOPATH is not set.
2022-11-26 14:04:24 -08:00
cadobot[bot]
ae5bc6b80e all: upgrade direct dependencies (#332)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2022-11-02 05:40:46 +00:00
cadobot[bot]
ba810127ca all: upgrade direct dependencies (#331)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2022-10-02 05:42:21 +00:00
Michael McLoughlin
429cf3cdbf ci: bump to go 1.19 (#330)
* Bump CI to Go 1.19
* Update golang/go edwards25519 test
* Apply formatting to printer stubs output (to get correct comment formatting)
* Bump gofumpt version
2022-09-05 22:15:01 -07:00
Michael McLoughlin
e788b7675f all: upgrade to golangci-lint v1.49.0 (#329)
Fixes #242
2022-09-05 17:25:03 -07:00
Michael McLoughlin
d76a0f6dd6 ci: reduce frequency of auto updates (#328)
Reduce frequency of auto-update jobs:
* Update third-party package metadata
* Bump dependency version
Both are now monthly rather than weekly.
2022-09-05 15:09:52 -07:00
cadobot[bot]
6fdff29d46 all: upgrade direct dependencies (#327)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2022-09-05 05:53:44 +00:00
cadobot[bot]
96150c7bd9 tests/thirdparty: update package metadata (#326)
Co-authored-by: {{ steps.bot.outputs.login }} <104697117+cadobot[bot]@users.noreply.github.com>
2022-09-04 05:40:14 +00:00