Commit Graph

91 Commits

Author SHA1 Message Date
Wunkolo
0fdb855a11 [JIT, x64] Add and implement OPCODE_AND_NOT
Verified the x64 implementation using `xenia-cpu-ppc-tests`.
2022-01-04 16:16:49 -06:00
Triang3l
f540c188bf [Lint] Revert incorrect clang-format changes 2021-08-26 21:18:18 +03:00
Triang3l
7edfdc2672 Merge branch 'master' into linux_windowing 2021-08-26 22:58:14 +03:00
gibbed
6c0d03fad3 [CPU] Reduce complexity of Value::Round. 2021-06-28 20:32:52 -05:00
Joel Linn
d87bf995e1 Satisfy linter
Apply changes suggested by clang-format-12
2021-06-27 16:33:35 -05:00
Joel Linn
86722be9ca [Base] Make Arena alignment aware
- Add align parameter
- Templated Alloc() implicitly aligns type correctly
- Rewind may leak padding that was added due to alignment
2021-06-02 22:28:43 -05:00
Triang3l
5c47a3a588 [x64] vcfux single rounding for 0x80000000+ 2020-12-11 21:20:13 +03:00
gibbed
5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
Margen67
b3d1c5982a [CPU] Typo fix 2020-03-07 19:39:56 -06:00
Triang3l
bc4b68db45 [CPU] Data cache control instructions 2019-08-18 16:22:32 +03:00
Triang3l
bc2eaf9b64 [CPU] VectorAverage CPU-independent constant propagation 2019-07-21 22:01:24 +03:00
Triang3l
ab664e38a0 Merge pull request #1406 from Gliniak/vsvgsb
Added support for Altivec: vavgsb
2019-07-21 18:30:03 +03:00
Triang3l
8c00aea5ff [CPU] vpkd3d VPACK_NORMPACKED64 2019-07-20 22:04:37 +03:00
Triang3l
26c24b4726 [CPU] Move saturating add/sub to base/math.h 2019-07-19 23:12:11 +03:00
Triang3l
2b411f4c8b [CPU] Saturating VectorSub: fix typo in last commit 2019-07-19 08:22:30 +03:00
Triang3l
f14f44e729 [CPU] Saturating VectorAdd/Sub of constants without DID_SATURATE yet 2019-07-19 08:17:55 +03:00
Radosław Gliński
53eb95d33c Added support for Altivec: vavgsb
Also little size adjustments for vavgsh
2019-07-18 21:22:42 +02:00
gibbed
b121f45c7f [JIT] Assert that other is constant in set_from. 2018-11-23 10:46:27 -06:00
gibbed
94284ea9aa [CPU] Fix null termination in HIRBuilder::CommentFormat. 2018-11-23 07:50:42 -06:00
Dr. Chat
c9797dde2a [CPU] Fix switch variable scoping 2018-11-18 11:35:23 -06:00
gibbed
3ced6c5cf2 [CPU] Add constant VectorAverage. 2018-11-18 08:13:37 -06:00
DrChat
894bbf9e26 [JIT] Fix incorrect definition for constant VectorConvertX2X 2018-03-02 19:03:48 -06:00
DrChat
2af0a3c2f4 [JIT] Mask extraction constants in Value::Extract 2018-03-02 18:55:52 -06:00
DrChat
49866e970b [JIT] VectorConvertX2X unsigned support 2018-03-02 16:34:57 -06:00
DrChat
4766a5ec24 [JIT] Add FIXME on constant Vector F2I (saturation unsupported) 2018-03-01 21:15:54 -06:00
DrChat
6fd75cea91 [CPU] Handle constant multiply in fmadd/fmsub in constant propagation pass 2018-03-01 20:04:56 -06:00
DrChat
e54c24e150 [JIT] New opcodes: OPCODE_LOAD_OFFSET and OPCODE_STORE_OFFSET
These take full advantage of x86 addressing, and eliminate extra add operations.
2018-02-14 16:26:49 -06:00
DrChat
aaf281351d Format all code with new clang-format 2017-12-14 20:44:43 -06:00
Dr. Chat
d3ed53c43e PPC: Support v[u]pkd3d128 VPACK_NORMSHORT4 2017-05-12 17:55:52 -05:00
Dr. Chat
82efbd7bc5 HIR: Add opcode SET_ROUNDING_MODE (taking FPSCR as an argument) 2017-05-12 14:05:27 -05:00
DrChat
f012845cb6 JIT: Propagate mul/div by constant one 2017-03-16 18:49:55 -05:00
Dr. Chat
d5e7bc8dca JIT - vctsxs: Properly saturate signed integers 2017-03-05 17:45:17 -06:00
Dr. Chat
803f0be049 Linux header fixes 2017-02-05 22:45:01 -06:00
Dr. Chat
a72f1d949f Constant propagation for vector SGT/UGE/UGT
Constant rounding (and fixed vec128 rounding only doing x)
2016-07-25 11:57:14 -05:00
Dr. Chat
18ff97e6b6 OPCODE_IS_NAN 2016-07-11 20:44:12 -05:00
Dr. Chat
3d1d4dea47 OPCODE_DOT_PRODUCT_4 constant propagation 2016-06-28 19:39:22 -05:00
Dr. Chat
f2ad6b8cb8 OPCODE_RECIP 2016-06-26 13:03:42 -05:00
gibbed
8965fda402 RSqrt for VEC128_TYPE. 2016-06-20 13:31:11 -05:00
gibbed
53e37c3167 Constant propogation for DOT_PRODUCT_3. 2016-06-20 13:30:19 -05:00
Dr. Chat
0ef16b10e2 Constant Propagation for OPCODE_VECTOR_ADD 2016-06-12 21:41:02 -05:00
Dr. Chat
32011a841e Formatting. 2016-06-05 17:48:06 -05:00
Haydn Trigg
ff5529714c clang-format to Google Standards
Added formatting to code
2016-05-29 13:22:14 +09:30
Haydn Trigg
f2ca689ea0 Expanded vec128 and VectorSub
Added double precision (f64) values to the vec128 structure
Added cases for all formats of data for vector subtraction in the
Value::VectorSub function

NOTE: Unsure what the saturate function is for however maintained
original functionality
2016-05-17 05:34:09 +09:30
sephiroth99
5d9a4b6830 Handle all other cases in switch statements 2016-01-20 11:00:37 -05:00
Dr. Chat
7b6f1388d6 OPCODE_ATOMIC_COMPARE_EXCHANGE 2016-01-13 01:41:58 -06:00
Dr. Chat
3ccb2a978d Propagate vector constants. 2016-01-13 01:40:44 -06:00
sephiroth99
3f49aa3cef Add default case for unhandled target_type values 2015-12-30 17:42:18 -05:00
sephiroth99
da71bc26a2 Use correct value in unhandled case assert 2015-12-30 17:42:18 -05:00
Dr. Chat
17d18f7154 Implement a few cases for Value::Cast/Convert 2015-12-02 14:01:28 -06:00
Ben Vanik
82fe65475e Fixing sqrt/rsqrt mixup.
Queue the 'how did this ever work?!'
2015-11-30 17:22:08 -08:00