357 Commits

Author SHA1 Message Date
Andrzej Janik
95b556827a Silence warnings 2024-10-16 03:15:22 +02:00
Andrzej Janik
73eb31fec5 Add saturated integer conversions 2024-10-16 03:12:54 +02:00
Andrzej Janik
002a19354a Add float-to-int cvt 2024-10-15 19:16:11 +02:00
Andrzej Janik
3105674618 Add prmt, membar, fix some of cvt 2024-10-15 18:05:32 +02:00
Andrzej Janik
6f2944d9be Add or, mad, fma, min, max, selp, lg2, ex2, popc, rem 2024-10-15 04:42:44 +02:00
Andrzej Janik
ae42eac925 Add shifts, cvt, rsqrt, sqrt, rcp, more sregs 2024-10-14 19:09:47 +02:00
Andrzej Janik
d9c33ca505 Add br, setp, not, cvta, sub, neg, sin 2024-10-11 22:55:10 +02:00
Andrzej Janik
c8b88f4483 Implement div 2024-10-11 16:27:36 +02:00
Andrzej Janik
9035c4a24d Fix build 2024-10-10 22:59:33 +02:00
Andrzej Janik
d7a435ff42 Readd most of the implicit conversion code 2024-10-10 22:58:50 +02:00
Andrzej Janik
6f2ca43cfa Cleanup. Remove unused SPIR-V emit code and old compilation passes 2024-10-09 16:31:14 +02:00
Andrzej Janik
aa6a8ed4c4 Fix vector extract/insert 2024-10-06 18:00:48 +02:00
Andrzej Janik
6490519885 Support vector member read/write 2024-10-06 06:44:14 +02:00
Andrzej Janik
56c41b5690 Add mul, cos, xor, some constants 2024-10-06 03:25:02 +02:00
Andrzej Janik
d173828492 Add clz 2024-10-06 02:21:06 +02:00
Andrzej Janik
053c41fbb9 Implement call 2024-10-06 02:05:16 +02:00
Andrzej Janik
6456f0d1a1 Add brev 2024-10-05 00:52:16 +02:00
Andrzej Janik
bf2aef9be0 Add support for bfi 2024-10-04 22:58:25 +02:00
Andrzej Janik
84364fa412 Support bra instruction 2024-10-04 21:52:13 +02:00
Andrzej Janik
4f244c29a5 Add correct 64 bit bfe 2024-10-04 19:58:10 +02:00
Andrzej Janik
c59d0c4a92 Merge remote-tracking branch 'origin/repass2' into repass2 2024-10-04 16:22:25 +02:00
Andrzej Janik
638bb1efa7 Add correct 32 bit bfe 2024-10-04 16:21:41 +02:00
Andrzej Janik
25dbda7242 Add devcontainer 2024-10-03 14:43:08 +00:00
Andrzej Janik
9eb7314803 Add failing bfe test 2024-09-30 04:07:30 +02:00
Andrzej Janik
f0b3bf8013 Add support for atom.cas 2024-09-26 21:38:50 +02:00
Andrzej Janik
820eaf8ada Implement atomics 2024-09-26 18:54:15 +02:00
Andrzej Janik
c4e1315194 Fix and test, improve compilation slightly 2024-09-25 17:49:15 +02:00
Andrzej Janik
3942afd8ff Implement activemask 2024-09-25 15:54:32 +02:00
Andrzej Janik
81baecf2c8 Add ptx_impl bitcode module 2024-09-25 02:46:08 +02:00
Andrzej Janik
c92abba2bb Refactor compilation passes (#270)
The overarching goal is to refactor all passes so they are module-scoped and not function-scoped. Additionally, make improvements to the most egregiously buggy/unfit passes (so the code is ready for the next major features: linking, ftz handling) and continue adding more code to the LLVM backend
2024-09-23 16:33:46 +02:00
Andrzej Janik
46def3e7e0 Connect new parser to LLVM bitcode backend (#269)
This is very incomplete. Just enough code to emit LLVM bitcode and continue further development
2024-09-13 01:07:31 +02:00
Andrzej Janik
193eb29be8 PTX parser rewrite (#267)
Replaces traditional LALRPOP-based parser with winnow-based parser to handle out-of-order instruction modifer. Generate instruction type and instruction visitor from a macro instead of writing by hand. Add separate compilation path using the new parser that only works in tests for now
2024-09-04 15:47:42 +02:00
Andrzej Janik
872054ae40 Fix linguist instructions 2024-08-07 13:29:03 +02:00
Andrzej Janik
90a1f77891 Update README 2024-08-06 16:32:23 +02:00
Andrzej Janik
164c172236 Clean up ZLUDA redirection helper 2022-02-04 14:14:51 +01:00
Andrzej Janik
2753d956df Overhaul DLL injection 2022-02-04 00:50:25 +01:00
Andrzej Janik
c869a0d611 Add tests for injecting into CLR process 2022-02-03 12:28:42 +01:00
Andrzej Janik
9923a36b76 Redo DLL injection 2022-02-01 23:57:36 +01:00
Andrzej Janik
89bc40618b Implement static typing for dynamically-loaded CUDA DLLs 2022-01-28 16:44:46 +01:00
Andrzej Janik
07aa1103aa Add OGL interop to cuda proc macros 2022-01-26 11:32:20 +01:00
Andrzej Janik
6f76c8b34c Fix crash when printing arrays 2022-01-08 18:44:59 +01:00
Andrzej Janik
2e56871643 Fix luid printing 2022-01-08 00:33:26 +01:00
Andrzej Janik
869efbe0e2 Move zluda_dump to the new CUDA infrastructure 2022-01-07 04:20:33 +01:00
Andrzej Janik
9390db962b Start converting everything to the new log formatting 2021-12-20 09:35:13 +01:00
Andrzej Janik
bdcef897cc Start converting zluda_dump logging to provide more detailed 2021-12-19 01:18:03 +01:00
Andrzej Janik
971951bc9e Improve reporting of recovered unrecognized statement/directive 2021-12-14 00:02:23 +01:00
Andrzej Janik
0ca14d740f Better reporting of unrecognized tokens 2021-12-13 22:25:26 +01:00
Andrzej Janik
7ba1586d6c Make all user errors recoverable 2021-12-13 17:20:06 +01:00
Andrzej Janik
04dbafaf4a Fix typo 2021-12-08 00:39:08 +01:00
Andrzej Janik
50e793e869 Improve logging of dumps 2021-12-08 00:29:00 +01:00