[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-10 Thread Thomas Lively via Phabricator via cfe-commits
tlively planned changes to this revision. tlively added a comment. I missed the fact that the narrows are supposed to be binary operations. Oops. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67425/new/ https://reviews.llvm.org/D67425 __

[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 219784. tlively added a comment. - Make narrows binary ops Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67425/new/ https://reviews.llvm.org/D67425 Files: clang/include/clang/Basic/BuiltinsWebAssembly.def

[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-12 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D67425#1668831 , @aheejin wrote: > LGTM. > > - Maybe we can lower these > > to these new ins

[PATCH] D67425: [WebAssembly] Narrowing and widening SIMD ops

2019-09-13 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL371906: [WebAssembly] Narrowing and widening SIMD ops (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D67425?vs=219784&id=220189#toc Repository: rL LLVM CHANG

[PATCH] D67739: [WebAssembly] Let users know that wasm64 does not exist

2019-09-18 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: dschuff, aheejin. Herald added subscribers: cfe-commits, jfb, sunfish, jgravelle-google, sbc100. Herald added a project: clang. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D67739 Files: clang/include/clang/Basic/Diagnos

[PATCH] D67739: [WebAssembly] Let users know that wasm64 does not exist

2019-09-23 Thread Thomas Lively via Phabricator via cfe-commits
tlively planned changes to this revision. tlively added a comment. It sounds reasonable to check this from the backend instead. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67739/new/ https://reviews.llvm.org/D67739

[PATCH] D67739: [WebAssembly] Let users know that wasm64 does not exist

2019-09-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively abandoned this revision. tlively added a comment. Closing in favor of D68254 . Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D67739/new/ https://reviews.llvm.org/D67739

[PATCH] D68531: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle

2019-10-04 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100. Herald added projects: clang, LLVM. This clang builtin and corresponding LLVM intrinsic are necessary to expose the exact se

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2019-10-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Another approach to reference types we should look at is clang's upcoming sizeless types support (https://reviews.llvm.org/D62962, RFC: http://lists.llvm.org/pipermail/cfe-dev/2019-June/062523.html). This would allow reference types to be constructed at the source level

[PATCH] D68531: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle

2019-10-08 Thread Thomas Lively via Phabricator via cfe-commits
tlively marked an inline comment as done. tlively added a comment. In D68531#1699855 , @aheejin wrote: > > LLVM produces a poison value if the dynamic swizzle indices are greater > > than the vector size, but the WebAssembly instruction sets the > > corr

[PATCH] D68531: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle

2019-10-09 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3419e90dc1a2: [WebAssembly] Add builtin and intrinsic for v8x16.swizzle (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D68531/new/ http

[PATCH] D68902: [WebAssembly] Trapping fptoint builtins and intrinsics

2019-10-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. The WebAssembly backend lowers fptoint instructions to a code sequence that checks for

[PATCH] D68902: [WebAssembly] Trapping fptoint builtins and intrinsics

2019-10-14 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG232fd99d9ee6: [WebAssembly] Trapping fptoint builtins and intrinsics (authored by tlively). Changed prior to commit: https://reviews.llvm.org/D68902?vs=224718&id=224945#toc Repository: rG LLVM Github

[PATCH] D69075: [WebAssembly] -pthread implies -target-feature +sign-ext

2019-10-16 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: cfe-commits, jfb, sunfish, jgravelle-google, sbc100. Herald added a project: clang. The sign extension proposal was motivated by a desire to not have separate sign-extending atomic operations, so it

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-10-17 Thread Thomas Lively via Phabricator via cfe-commits
tlively reclaimed this revision. tlively added a comment. I'm re-opening this revision. After discussion on https://github.com/WebAssembly/simd/issues/118, there is clear consensus that we do not want to break WebAssembly's abstraction and consider underlying platforms, so shuffles should not b

[PATCH] D69075: [WebAssembly] -pthread implies -target-feature +sign-ext

2019-10-17 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. tlively marked an inline comment as done. Closed by commit rG807cecad5d98: [WebAssembly] -pthread implies -target-feature +sign-ext (authored by tlively). Changed prior to commit: https://reviews.llvm.org/D69075?vs=225331

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2019-10-24 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. It would be great to see some test .ll files here so we can get a better understanding for what is implemented here. I would also like to see tests of what happens if you try to do a `ptrtoint` or some other illegal operation on a reference type. Com

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2019-10-24 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. One other thought: Does the implementation in this diff care what type the reference type pointers are pointing to? It would be nice if we could enforce the use of an opaque pointee type to prevent the reference types from being dereferenced. Repository: rG LLVM Git

[PATCH] D80968: [WebAssembly] Improve macro hygiene in wasm_simd128.h

2020-06-01 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: cfe-commits, sunfish, jgravelle-google, sbc100, dschuff. Herald added a project: clang. The shuffle intrinsic macros did not parenthesize usages of their constant parameters, which could lead to incorrect

[PATCH] D80968: [WebAssembly] Improve macro hygiene in wasm_simd128.h

2020-06-02 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG237be3404b44: [WebAssembly] Improve macro hygiene in wasm_simd128.h (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80968/new/ https://

[PATCH] D84556: [WebAssembly] Remove intrinsics for SIMD widening ops

2020-07-24 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. Instead, pattern match extends of extract_subvectors to generate widening operations. S

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2020-07-28 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D66035#2178105 , @pmatos wrote: > Please ignore my `.gitlab-ci.yml`. That's just an internal change that I got > uploaded by mistake. > I am looking to see this through and start discussion on this with the goal > of landing i

[PATCH] D84556: [WebAssembly] Remove intrinsics for SIMD widening ops

2020-07-28 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: llvm/test/CodeGen/WebAssembly/simd-widening.ll:113 + +;; Also test that similar patterns are still expanded correctly + aheejin wrote: > It'd be clearer to say starting indices of these don't start with 0 or > [lanecoun

[PATCH] D84556: [WebAssembly] Remove intrinsics for SIMD widening ops

2020-07-28 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG11bb7eef4152: [WebAssembly] Remove intrinsics for SIMD widening ops (authored by tlively). Changed prior to commit: https://reviews.llvm.org/D8455

[PATCH] D84556: [WebAssembly] Remove intrinsics for SIMD widening ops

2020-07-28 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: llvm/test/CodeGen/WebAssembly/simd-widening.ll:113 + +;; Also test that similar patterns are still expanded correctly + aheejin wrote: > tlively wrote: > > aheejin wrote: > > > It'd be clearer to say starting indices of

[PATCH] D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions

2020-07-28 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. tlively requested review of this revision. Specified in https://github.com/WebAssembly/

[PATCH] D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions

2020-07-29 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Since this changes opcodes, it needs to be landed in concert with the corresponding Binaryen change. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84820/new/ https://reviews.llvm.org/D84820 ___

[PATCH] D77908: [WebAssembly] Enable nontrapping-fptoint for `default` cpu

2020-04-10 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Do we have tests that check that passing `-nontrapping-fptoint` to llc (or clang) successfully disables the feature? Comment at: clang/lib/Basic/Targets/WebAssembly.h:33 - bool HasNontrappingFPToInt = false; + bool HasNontrappingFPToInt = true;

[PATCH] D81222: [WebAssembly] Implement prototype SIMD rounding instructions

2020-06-04 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. As specified in https://github.com/WebAssembly/simd/pull/232. These instructions are im

[PATCH] D81222: [WebAssembly] Implement prototype SIMD rounding instructions

2020-06-09 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGb7d369280ba6: [WebAssembly] Implement prototype SIMD rounding instructions (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81222/new/ h

[PATCH] D81757: [WebAssembly] Add intrinsic for i64x2.mul

2020-06-12 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: cfe-commits, sunfish, jgravelle-google, sbc100, dschuff. Herald added a project: clang. This instruction was implemented in 3181273be7

[PATCH] D81757: [WebAssembly] Add intrinsic for i64x2.mul

2020-06-12 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd2c394e74fc5: [WebAssembly] Add intrinsic for i64x2.mul (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D81757/new/ https://reviews.llvm

[PATCH] D79224: [WebAssembly] Renumber SIMD opcodes

2020-05-01 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 261532. tlively added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. - Remove i64x2 conversion ops in clang as well Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79224/new/ ht

[PATCH] D79224: [WebAssembly] Renumber SIMD opcodes

2020-05-01 Thread Thomas Lively via Phabricator via cfe-commits
tlively marked 3 inline comments as done. tlively added inline comments. Comment at: llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp:186 // 64x2 conversions are not in the spec -if (!Subtarget->hasUnimplementedSIMD128()) - for (auto Op : ahe

[PATCH] D79224: [WebAssembly] Renumber SIMD opcodes

2020-05-01 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGe0f52842c8bc: [WebAssembly] Renumber SIMD opcodes (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79224/new/ https://reviews.llvm.org/D

[PATCH] D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions

2020-07-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 282017. tlively added a comment. - Remove IntrSpeculatable Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84820/new/ https://reviews.llvm.org/D84820 Files: clang/include/clang/Basic/BuiltinsWebAssembly.def

[PATCH] D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions

2020-07-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: llvm/include/llvm/IR/IntrinsicsWebAssembly.td:198 +[LLVMPointerType], +[IntrReadMem, IntrArgMemOnly, IntrSpeculatable], + "", [SDNPMemOperand]>; aheejin wrote: > Can memory accesses be

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2020-07-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D66035#2187021 , @pmatos wrote: > In D66035#2181659 , @pmatos wrote: > >> I will be splitting the part enabling the target feature through clang into >> a separate revision as suggested

[PATCH] D66035: [WebAssembly] WIP: Add support for reference types

2020-07-31 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. It would be good to split this into (at least) two patches. The first should do the minimal testable amount of work to get instruction selection working, and follow-on patches can add the other parts, like additions to the object file format. Part of the reason for that

[PATCH] D85074: [WebAssembly] Use "signed char" instead of "char" in SIMD intrinsics.

2020-08-02 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. Nice! Thanks for doing that :) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85074/new/ https://reviews.llvm.org/D85074 _

[PATCH] D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions

2020-08-03 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 282680. tlively added a comment. - Renumber i32x4.dot_i16x8_s to match V8 as well Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84820/new/ https://reviews.llvm.org/D84820 Files: clang/include/clang/Basic/Bui

[PATCH] D84820: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions

2020-08-03 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGcb327922101b: [WebAssembly] Implement prototype v128.load{32,64}_zero instructions (authored by tlively). Repository: rG LLVM Github Monorepo CHA

[PATCH] D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests

2020-08-05 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. Herald added subscribers: cfe-commits, sunfish, jgravelle-google, sbc100, dschuff. Herald added a project: clang. tlively requested review of this revision. Herald added a subscriber: aheejin. 47f7174ffa

[PATCH] D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests

2020-08-05 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 283348. tlively added a comment. - Fix Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85347/new/ https://reviews.llvm.org/D85347 Files: clang/lib/Headers/wasm_simd128.h clang/test/Headers/wasm.c clang/tes

[PATCH] D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests

2020-08-05 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 283373. tlively added a comment. - Fix and test macros as well Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85347/new/ https://reviews.llvm.org/D85347 Files: clang/lib/Headers/wasm_simd128.h clang/test/He

[PATCH] D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests

2020-08-05 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: clang/test/Headers/wasm.cpp:1 +// RUN: %clang_cc1 -triple wasm32-unknown-unknown -target-feature +simd128 -fsyntax-only -ffreestanding %s -verify +// expected-no-diagnostics sunfish wrote: > This test currently passes o

[PATCH] D85347: [WebAssembly] Fix types in wasm_simd128.h and add tests

2020-08-05 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGf496950001c4: [WebAssembly] Fix types in wasm_simd128.h and add tests (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LA

[PATCH] D85806: [WebAssembly] Don't depend on the flags set by handleTargetFeatures in initFeatureMap.

2020-08-12 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. Thank you! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D85806/new/ https://reviews.llvm.org/D85806 _

[PATCH] D79534: [clang][WebAssembly] Only expose wait and notify builtins with atomics

2020-05-06 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, sunfish. Herald added subscribers: cfe-commits, jfb, jgravelle-google, sbc100, dschuff. Herald added a project: clang. Since the underlying wait and notify instructions are only available when the atomics feature is enabled, it only

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2020-05-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 262795. tlively marked an inline comment as done. tlively edited the summary of this revision. tlively added a comment. - Rebase and update intrinsics header Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66983/n

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2020-05-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Ok, this is ready for review for real this time. The WebAssembly SIMD contributors have decided that this is an appropriate direction to go in, and we are leaving the door open for future improvements. Comment at: llvm/include/llvm/IR/IntrinsicsWebAss

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2020-05-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 262798. tlively marked an inline comment as done. tlively added a comment. - Rebase, update intrinsics header, and address comment Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66983/new/ https://reviews.llvm.o

[PATCH] D79534: [clang][WebAssembly] Only expose wait and notify builtins with atomics

2020-05-08 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGebb69b8bafad: [clang][WebAssembly] Only expose wait and notify builtins with atomics (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D795

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2020-05-11 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG8e3e56f2a367: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66983

[PATCH] D79742: [WebAssembly] Implement pseudo-min/max SIMD instructions

2020-05-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. As proposed in https://github.com/WebAssembly/simd/pull/122. Since these instructions a

[PATCH] D79742: [WebAssembly] Implement pseudo-min/max SIMD instructions

2020-05-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively marked an inline comment as done. tlively added inline comments. Comment at: clang/include/clang/Basic/BuiltinsWebAssembly.def:147 +TARGET_BUILTIN(__builtin_wasm_pmin_f64x2, "V2dV2dV2d", "nc", "simd128") +TARGET_BUILTIN(__builtin_wasm_pmax_f64x2, "V2dV2dV2d", "nc", "simd1

[PATCH] D79742: [WebAssembly] Implement pseudo-min/max SIMD instructions

2020-05-12 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3d49d1cfa768: [WebAssembly] Implement pseudo-min/max SIMD instructions (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79742/new/ https

[PATCH] D79973: [WebAssembly] Update latest implemented SIMD instructions

2020-05-14 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. Move instructions that have recently been implemented in V8 from the `unimplemented-sim

[PATCH] D79973: [WebAssembly] Update latest implemented SIMD instructions

2020-05-15 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGc702d4bf4110: [WebAssembly] Update latest implemented SIMD instructions (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D79973/new/ http

[PATCH] D80174: [WebAssembly] Implement i64x2.mul and remove i8x16.mul

2020-05-18 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added projects: clang, LLVM. This reflects changes in the spec proposal made since basic arithmetic was first implem

[PATCH] D80174: [WebAssembly] Implement i64x2.mul and remove i8x16.mul

2020-05-19 Thread Thomas Lively via Phabricator via cfe-commits
tlively marked 2 inline comments as done. tlively added inline comments. Comment at: llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td:690 defm "" : SIMDBinary; } aheejin wrote: > Can we delete this now then? No, it is still used down in MIN_S and friends

[PATCH] D80174: [WebAssembly] Implement i64x2.mul and remove i8x16.mul

2020-05-19 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG3181273be73a: [WebAssembly] Implement i64x2.mul and remove i8x16.mul (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80174/new/ https:/

[PATCH] D133428: [WebAssembly] Prototype `f32x4.relaxed_dot_bf16x8_add_f32`

2022-09-07 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: pmatos, asb, wingo, ecnelises, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. Herald added a project: All. tlively requested review of this revision. Herald added projects: clang, LLVM. Herald added

[PATCH] D133428: [WebAssembly] Prototype `f32x4.relaxed_dot_bf16x8_add_f32`

2022-09-08 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGac3b8df8f2f4: [WebAssembly] Prototype `f32x4.relaxed_dot_bf16x8_add_f32` (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D133428/new/ ht

[PATCH] D104797: [WebAssembly] Implementation of global.get/set for reftypes in LLVM IR

2021-07-19 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D104797#2879855 , @pmatos wrote: > @tlively once D105423 lands, is it enough > to test and reland it under this revision or shall i open a new one? You can just reland it under this revision

[PATCH] D106400: [WebAssembly] Codegen for v128.load{32,64}_zero

2021-07-20 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: wingo, ecnelises, sunfish, hiraditya, jgravelle-google, sbc100. tlively requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. R

[PATCH] D106400: [WebAssembly] Codegen for v128.load{32,64}_zero

2021-07-21 Thread Thomas Lively via Phabricator via cfe-commits
tlively updated this revision to Diff 360485. tlively added a comment. - Add aligment tests Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D106400/new/ https://reviews.llvm.org/D106400 Files: clang/include/clang/Basic/BuiltinsWebAssembly.def cla

[PATCH] D106400: [WebAssembly] Codegen for v128.load{32,64}_zero

2021-07-21 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG1a57ee1276ed: [WebAssembly] Codegen for v128.load{32,64}_zero (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTIO

[PATCH] D106500: [WebAssembly] Remove clang builtins for extract_lane and replace_lane

2021-07-21 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: wingo, ecnelises, sunfish, jgravelle-google, sbc100. tlively requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. These builtins were added to ca

[PATCH] D106506: [WebAssembly] Replace @llvm.wasm.popcnt with @llvm.ctpop.v16i8

2021-07-21 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: wingo, ecnelises, sunfish, hiraditya, jgravelle-google, sbc100. tlively requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. U

[PATCH] D106500: [WebAssembly] Remove clang builtins for extract_lane and replace_lane

2021-07-21 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGdb7efcab7dd9: [WebAssembly] Remove clang builtins for extract_lane and replace_lane (authored by tlively). Repository: rG LLVM Github Monorepo CH

[PATCH] D106506: [WebAssembly] Replace @llvm.wasm.popcnt with @llvm.ctpop.v16i8

2021-07-21 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: llvm/test/CodeGen/WebAssembly/simd-unsupported.ll:13 ; CHECK-LABEL: ctlz_v16i8: -; CHECK: i32.clz +; CHECK: i8x16.popcnt declare <16 x i8> @llvm.ctlz.v16i8(<16 x i8>, i1) aheejin wrote: > Aren't these now... "supported

[PATCH] D106506: [WebAssembly] Replace @llvm.wasm.popcnt with @llvm.ctpop.v16i8

2021-07-21 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG8af333cf1a77: [WebAssembly] Replace @llvm.wasm.popcnt with @llvm.ctpop.v16i8 (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES S

[PATCH] D106611: [WebAssembly][NFC] Update test expectations labels after db7efcab7dd9

2021-07-22 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: wingo, ecnelises, sunfish, jgravelle-google, sbc100, dschuff. tlively requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Commit db7efcab7dd9

[PATCH] D106612: [WebAssembly] Codegen for pmin and pmax

2021-07-22 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: wingo, ecnelises, sunfish, hiraditya, jgravelle-google, sbc100. tlively requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. R

[PATCH] D106611: [WebAssembly][NFC] Update test expectations labels after db7efcab7dd9

2021-07-22 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG481084f669e1: [WebAssembly][NFC] Update test expectations labels after db7efcab7dd9 (authored by tlively). Repository: rG LLVM Github Monorepo CH

[PATCH] D106612: [WebAssembly] Codegen for pmin and pmax

2021-07-23 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td:1141 +def : Pat<(vec.int_vt (vselect +(setolt (vec.vt (bitconvert V128:$rhs)), +(vec.vt (bitconvert V128:$lhs))), aheejin wrote: > Sorry

[PATCH] D106612: [WebAssembly] Codegen for pmin and pmax

2021-07-23 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG85157c007903: [WebAssembly] Codegen for pmin and pmax (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION http

[PATCH] D106724: [WebAssembly] Codegen for extmul SIMD instructions

2021-07-23 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: wingo, ecnelises, sunfish, hiraditya, jgravelle-google, sbc100. tlively requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits. R

[PATCH] D106724: [WebAssembly] Codegen for extmul SIMD instructions

2021-07-27 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG33786576fd3a: [WebAssembly] Codegen for extmul SIMD instructions (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST AC

[PATCH] D121661: [WebAssembly] Fix names of SIMD instructions containing '_zero'

2022-03-14 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: wingo, ecnelises, sunfish, hiraditya, jgravelle-google, sbc100. Herald added a project: All. tlively requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers:

[PATCH] D121661: [WebAssembly] Fix names of SIMD instructions containing '_zero'

2022-03-16 Thread Thomas Lively via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rG7e8913d775ca: [WebAssembly] Fix names of SIMD instructions containing '_zero' (authored by tlively). Repository: rG LLVM Github Monorepo CHANGES

[PATCH] D123498: [clang] Adding Platform/Architecture Specific Resource Header Installation Targets

2022-04-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. No concerns about the WebAssembly changes. Will the default installation for folks who don't touch `LLVM_DISTRIBUTION_COMPONENTS` change? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123498/new/ https://reviews.llvm.org/D

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-08-29 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100. Herald added projects: clang, LLVM. Although using `__builtin_shufflevector` and the `shufflevector` instruction works fine,

[PATCH] D67020: [WebAssembly] Add SIMD QFMA/QFMS

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added reviewers: aheejin, dschuff. Herald added subscribers: llvm-commits, cfe-commits, sunfish, hiraditya, jgravelle-google, sbc100. Herald added projects: clang, LLVM. Adds clang builtins and LLVM intrinsics for these experimental instructions. They are no

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. The context for this CL is https://github.com/emscripten-core/emscripten/issues/9340. The code that does the undesirable optimization is around llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp:18776. I think it is a reasonable assumption that what you put in is what you g

[PATCH] D67020: [WebAssembly] Add SIMD QFMA/QFMS

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. https://github.com/WebAssembly/simd/pull/79/files They need benchmarking data before they can be merged into the proposal, and they need to be supported in the toolchain for us to get good benchmarking data. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACT

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Link to DAGCombiner.cpp code: https://github.com/llvm/llvm-project/blob/802aab5/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp#L19014 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66983/new/ https://reviews.llvm.org/D66983

[PATCH] D67020: [WebAssembly] Add SIMD QFMA/QFMS

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. In D67020#1653403 , @aheejin wrote: > Should we handle these too? > > - There seems to be a generic intrinsic for fused multiply-add: > https://github.com/llvm/llvm-project/blob/d21a3e41a4cfd52e3c5c9341f0b5ce8a173198bf/llvm/includ

[PATCH] D67020: [WebAssembly] Add SIMD QFMA/QFMS

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL370556: [WebAssembly] Add SIMD QFMA/QFMS (authored by tlively, committed by ). Changed prior to commit: https://reviews.llvm.org/D67020?vs=218167&id=218193#toc Repository: rL LLVM CHANGES SINCE LAST

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-08-30 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. @sunfish That sounds like a useful mechanism to me. I'd be happy to work on that next week. Is the consensus that we should not merge this change and instead pursue that idea? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D

[PATCH] D66983: [WebAssembly] Add wasm-specific vector shuffle builtin and intrinsic

2019-09-03 Thread Thomas Lively via Phabricator via cfe-commits
tlively abandoned this revision. tlively added a comment. Abandoning in favor of @sunfish's idea for introducing a cost mechanism for shuffle masks in DAGCombiner. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D66983/new/ https://reviews.llvm.org/D

[PATCH] D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH

2019-09-05 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Is there a plan to turn this on by default at some point, or will users always have to opt-in to using exceptions? Also, would it make sense to automatically turn this feature on if the user instead supplies `-mexception-handling` to turn on the target feature? Reposi

[PATCH] D67208: [WebAssembly] Add -fwasm-exceptions for wasm EH

2019-09-06 Thread Thomas Lively via Phabricator via cfe-commits
tlively added a comment. Thanks for the clarification. It makes sense to me that `-mexception-handling` only enables the architectural feature and a separate flag enables the behavior change. This is indeed consistent with how `-pthread` works. What happens when users have exceptions in their c

[PATCH] D87537: [lld][WebAssembly] Error on import/export of mutable global without `mutable-globals` feature

2020-09-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: clang/lib/Driver/ToolChains/WebAssembly.cpp:246-252 + llvm::Reloc::Model RelocationModel; + unsigned PICLevel; + bool IsPIE; + std::tie(RelocationModel, PICLevel, IsPIE) = ParsePICArgs(*this, DriverArgs); + if (RelocationModel == ll

[PATCH] D87537: [lld][WebAssembly] Error on import/export of mutable global without `mutable-globals` feature

2020-09-11 Thread Thomas Lively via Phabricator via cfe-commits
tlively added inline comments. Comment at: clang/lib/Driver/ToolChains/WebAssembly.cpp:246-252 + llvm::Reloc::Model RelocationModel; + unsigned PICLevel; + bool IsPIE; + std::tie(RelocationModel, PICLevel, IsPIE) = ParsePICArgs(*this, DriverArgs); + if (RelocationModel == ll

[PATCH] D87537: [lld][WebAssembly] Error on import/export of mutable global without `mutable-globals` feature

2020-09-12 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. Thanks! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D87537/new/ https://reviews.llvm.org/D87537

[PATCH] D93775: [WebAssembly] Prototype extending pairwise add instructions

2020-12-23 Thread Thomas Lively via Phabricator via cfe-commits
tlively created this revision. tlively added a reviewer: aheejin. Herald added subscribers: wingo, ecnelises, sunfish, hiraditya, jgravelle-google, sbc100, dschuff. tlively requested review of this revision. Herald added projects: clang, LLVM. Herald added subscribers: llvm-commits, cfe-commits.

[PATCH] D91222: [WebAssembly] Remove wasm-specific TLS builtins

2020-11-10 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. Excellent, thanks. I hope I'm not forgetting any good reason we added these. Emscripten doesn't use them in its pthreads runtime, right? Repository: rG LLVM Github Monorepo CHANGES SINCE

[PATCH] D91448: [WebAssembly] Remove a temporarily added RUN line

2020-11-13 Thread Thomas Lively via Phabricator via cfe-commits
tlively accepted this revision. tlively added a comment. This revision is now accepted and ready to land. Wow, that bug is wild! Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91448/new/ https://reviews.llvm.org/D91448 _

<    1   2   3   4   5   >