Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    AMD’s powerful AI chips can finally be unleashed on Windows PCs

    Imilab C30 Dual review: 2 lenses, 1 smart monitoring solution

    Microsoft’s AI helper, Copilot Vision, is now live

    Facebook X (Twitter) Instagram
    • Artificial Intelligence
    • Business Technology
    • Cryptocurrency
    • Gadgets
    • Gaming
    • Health
    • Software and Apps
    • Technology
    Facebook X (Twitter) Instagram Pinterest Vimeo
    Tech AI Verse
    • Home
    • Artificial Intelligence

      How far will AI go to defend its own survival?

      June 2, 2025

      The internet thinks this video from Gaza is AI. Here’s how we proved it isn’t.

      May 30, 2025

      Nvidia CEO hails Trump’s plan to rescind some export curbs on AI chips to China

      May 22, 2025

      AI poses a bigger threat to women’s work, than men’s, report says

      May 21, 2025

      AMD CEO Lisa Su calls China a ‘large opportunity’ and warns against strict U.S. chip controls

      May 8, 2025
    • Business

      The EU challenges Google and Cloudflare with its very own DNS resolver that can filter dangerous traffic

      June 11, 2025

      These two Ivanti bugs are allowing hackers to target cloud instances

      May 21, 2025

      How cloud and AI transform and improve customer experiences

      May 10, 2025

      Cookie-Bite attack PoC uses Chrome extension to steal session tokens

      April 22, 2025

      Trump tariffs reignite Europe’s push for cloud sovereignty

      April 17, 2025
    • Crypto

      XRP Price Slips as Bears Tighten Grip and Short Bets Surge

      June 12, 2025

      HTX Launches TRX Options, Empowering Users with Flexible and Diversified Trading Strategies

      June 12, 2025

      Ethereum Leverage At All-Time High as BlackRock Ramps Up Accumulation

      June 12, 2025

      HBAR Price Downtrend Set To Face Volatility Explosion; Recovery Likely

      June 12, 2025

      Aura (AURA) Token Skyrockets Over 3,500%, But Analysts Urge Caution Amid Rug Pull Fears

      June 11, 2025
    • Technology

      AMD’s powerful AI chips can finally be unleashed on Windows PCs

      June 13, 2025

      Imilab C30 Dual review: 2 lenses, 1 smart monitoring solution

      June 13, 2025

      Microsoft’s AI helper, Copilot Vision, is now live

      June 13, 2025

      Microsoft throws shade at macOS Tahoe’s familiar new vista

      June 13, 2025

      WTF is sell-side decisioning?

      June 12, 2025
    • Others
      • Gadgets
      • Gaming
      • Health
      • Software and Apps
    Shop Now
    Tech AI Verse
    You are at:Home»Technology»Zig Devlog: Self-Hosted x86 Back End Is Now Default in Debug Mode
    Technology

    Zig Devlog: Self-Hosted x86 Back End Is Now Default in Debug Mode

    TechAiVerseBy TechAiVerseJune 9, 2025No Comments10 Mins Read0 Views
    Facebook Twitter Pinterest Telegram LinkedIn Tumblr Email Reddit
    Share
    Facebook Twitter LinkedIn Pinterest WhatsApp Email

    Zig Devlog: Self-Hosted x86 Back End Is Now Default in Debug Mode

    This page contains a curated list of recent changes to main branch Zig.

    Also available as an
    RSS feed.

    This page contains entries for the year 2025. Other years are available in
    the Devlog archive page.

    June 08, 2025

    Self-Hosted x86 Backend is Now Default in Debug Mode

    Author: Andrew Kelley

    Now, when you target x86_64, by default, Zig will use its own x86 backend rather than using LLVM to lower a bitcode file to an object file.

    The default is not changed on Windows yet, because more COFF linker work needs to be done first.

    The x86 backend is now passing 1987 behavior tests, versus 1980 passed by the LLVM backend. In reality there are 2084 behavior tests, but the extra ones there are generally redundant with LLVM’s own test suite for its own x86 backend, so we only run those when testing with self-hosted x86. Anyway, my point is that Zig’s x86 backend is now more robust than its LLVM backend in terms of implementing the Zig language.

    Why compete with LLVM on code generation? There are a handful of reasons, but mainly, because we can dramatically outperform LLVM at compilation speed.

    Benchmark 1 (6 runs): zig build-exe hello.zig -fllvm
      measurement          mean ± σ            min … max           outliers         delta
      wall_time           918ms ± 32.8ms     892ms …  984ms          0 ( 0%)        0%
      peak_rss            214MB ±  629KB     213MB …  215MB          0 ( 0%)        0%
      cpu_cycles         4.53G  ± 12.7M     4.52G  … 4.55G           0 ( 0%)        0%
      instructions       8.50G  ± 3.27M     8.50G  … 8.51G           0 ( 0%)        0%
      cache_references    356M  ± 1.52M      355M  …  359M           0 ( 0%)        0%
      cache_misses       75.6M  ±  290K     75.3M  … 76.1M           0 ( 0%)        0%
      branch_misses      42.5M  ± 49.2K     42.4M  … 42.5M           0 ( 0%)        0%
    Benchmark 2 (19 runs): zig build-exe hello.zig
      measurement          mean ± σ            min … max           outliers         delta
      wall_time           275ms ± 4.94ms     268ms …  283ms          0 ( 0%)        ⚡- 70.1% ±  1.7%
      peak_rss            137MB ±  677KB     135MB …  138MB          0 ( 0%)        ⚡- 36.2% ±  0.3%
      cpu_cycles         1.57G  ± 9.60M     1.56G  … 1.59G           0 ( 0%)        ⚡- 65.2% ±  0.2%
      instructions       3.21G  ±  126K     3.21G  … 3.21G           1 ( 5%)        ⚡- 62.2% ±  0.0%
      cache_references    112M  ±  758K      110M  …  113M           0 ( 0%)        ⚡- 68.7% ±  0.3%
      cache_misses       10.5M  ±  102K     10.4M  … 10.8M           1 ( 5%)        ⚡- 86.1% ±  0.2%
      branch_misses      9.22M  ± 52.0K     9.14M  … 9.31M           0 ( 0%)        ⚡- 78.3% ±  0.1%
    

    For a larger project like the Zig compiler itself, it takes the time down from 75 seconds to 20 seconds.

    We’re only just getting started. We’ve already started work fully parallelizing code generation. We’re also just a few linker enhancements and bug fixes away from making incremental compilation stable and robust in combination with this backend. There is still low hanging fruit for improving the generated x86 code quality. And we’re looking at aarch64 next – work that is expected to be accelerated thanks to our new Legalize pass.

    The CI has finished building the respective commit, so you can try this out yourself by fetching the latest master branch build from the download page.

    Finally, here’s a gentle reminder that Zig Software Foundation is a 501(c)(3) non-profit that funds its development with donations from generous people like you. If you like what we’re doing, please help keep us financially sustainable!

    June 06, 2025

    Intro to the Zig Build System Video

    Author: Loris Cro

    I’ve released a few days ago a new video on YouTube where I show how to get started with the Zig build system for those who have not grokked it yet.

    In the video I show how to create a package that exposes a Zig module and then how to import that module in another Zig project. After June I will add more videos to the series in order to cover more of the build system.

    Here’s the video: https://youtu.be/jy7w_7JZYyw

    May 20, 2025

    FreeBSD and NetBSD Cross-Compilation Support

    Author: Alex Rønne Petersen

    Pull requests #23835 and #23913 have now been merged. This means that, using zig cc or zig build, you can now build binaries targeting FreeBSD 14.0.0+ and NetBSD 10.1+ from any machine, just as you’ve been able to for Linux, macOS, and Windows for a long time now.

    This builds on the strategy we were already using for glibc and will soon be using for other targets as well. For any given FreeBSD/NetBSD release, we build libc and related libraries for every supported target, and then extract public symbol information from the resulting ELF files. We then combine all that information into a very compact abilists file that gets shipped with Zig. Finally, when the user asks to link libc while cross-compiling, we load the abilists file and build a stub library for each constituent libc library (libc.so, libm.so, etc), making sure that it accurately reflects the symbols provided by libc for the target architecture and OS version, and has the expected soname. This is all quite similar to how the llvm-ifs tool works.

    We currently import crt0 code from the latest known FreeBSD/NetBSD release and manually apply any patches needed to make it work with any OS version that we support cross-compilation to. This is necessary because the OS sometimes changes the crt0 ABI. We’d like to eventually reimplement the crt0 code in Zig.

    We also ship FreeBSD/NetBSD system and libc headers with the Zig compiler. Unlike the stub libraries we produce, however, we always import headers from the latest version of the OS. This is because it would be far too space-inefficient to ship separate headers for every OS version, and we realistically don’t have the time to audit the headers on every import and add appropriate version guards to all new declarations. The good news, though, is that we do accept patches to add version guards when necessary; we’ve already had many contributions of this sort in our imported glibc headers.

    Please take this for a spin and report any bugs you find!

    We would like to also add support for OpenBSD libc and Dragonfly BSD libc, but because these BSDs cannot be conveniently cross-compiled from Linux, we need motivated users of them to chip in. Besides those, we are also looking into SerenityOS, Android, and Fuchsia libc support.

    April 09, 2025

    Website updated to Zine 0.10.0

    Author: Loris Cro

    The official Zig website now builds using standalone Zine. A lot of code got rewritten so if you see regressions on the website, please open an issue. Regressions only please, thanks!

    Normally a Zine update would not be worthy of a devlog entry, but the recent update to it was pretty big as Zine went from being a funky Zig build script to a standalone executable. If you were interested in Zine before but never got the time to try it out, this milestone is a great moment to give it a shot. Run zine init to get a sample website that also implements a devlog for you out of the box.

    P.S. I’ve also added dates to each entry on the page, people were asking for this for a while :^)

    March 03, 2025

    Release Tag Status Update

    The 0.14.0 release is coming shortly. We didn’t get the release notes done yet, and I’m calling it a day.

    Tomorrow morning I’ll make the tag, kick off the CI, and then work to finish the release notes while it builds.

    I know there were a lot of things that sadly didn’t make the cut. Let’s try to get them into 0.14.1 or 0.15.0. Meanwhile, there are a ton of major and minor enhancements that have already landed, and will debut tomorrow.

    February 24, 2025

    Improved UBSan Error Messages

    Author: David Rubin

    Lately, I’ve been extensively working with C interop, and one thing that’s been sorely missing is clear error messages from UBSan. When compiling C with zig cc, Zig provides better defaults, including implicitly enabling -fsanitize=undefined. This has been great for catching subtle bugs and makes working with C more bearable. However, due to the lack of a UBSan runtime, all undefined behavior was previously caught with a trap instruction.

    For example, consider this example C program:

    #include 
    
    int foo(int x, int y) {
        return x + y;
    }
    
    int main() {
        int result = foo(0x7fffffff, 0x7fffffff);
        printf("%dn", result);
    }
    

    Running this with zig cc used to result in an unhelpful error:

    $ zig run test.c -lc
    fish: Job 1, 'zig run empty.c -lc' terminated by signal SIGILL (Illegal instruction)
    

    Not exactly informative! To understand what went wrong, you’d have to run the executable in a debugger. Even then, tracking down the root cause could be daunting. Many newcomers ran into this Illegal instruction error without realizing that UBSan was enabled by default, leading to confusion. This issue was common enough to warrant a dedicated Wiki page.

    With the new UBSan runtime merged, the experience has completely changed. Now instead of an obscure SIGILL, you get a much more helpful error message:

    $ zig run test.c -lc
    thread 208135 panic: signed integer overflow: 2147483647 + 2147483647 cannot be represented in type 'int'
    /home/david/Code/zig/build/test.c:4:14: 0x1013e41 in foo (test.c)
        return x + y;
                 ^
    /home/david/Code/zig/build/test.c:8:18: 0x1013e63 in main (test.c)
        int result = foo(0x7fffffff, 0x7fffffff);
                     ^
    ../sysdeps/nptl/libc_start_call_main.h:58:16: 0x7fca4c42e1c9 in __libc_start_call_main (../sysdeps/x86/libc-start.c)
    ../csu/libc-start.c:360:3: 0x7fca4c42e28a in __libc_start_main_impl (../sysdeps/x86/libc-start.c)
    ???:?:?: 0x1013de4 in ??? (???)
    ???:?:?: 0x0 in ??? (???)
    fish: Job 1, 'zig run test.c -lc' terminated by signal SIGABRT (Abort)
    

    Now, not only do we see what went wrong (signed integer overflow), but we also see where it happened – two critical pieces of information that were previously missing.

    Remaining Limitations

    While the new runtime vastly improves debugging, there are still two features that LLVM’s UBSan runtime provides which ours doesn’t support yet:

    1. In C++, UBSan can detect when an object’s vptr indicates the wrong dynamic type or when its lifetime hasn’t started. Supporting this would require replicating the Itanium C++ ABI, which isn’t worth the extreme complexity.
    2. Currently, the runtime doesn’t show the exact locations of attributes like assume_aligned and __nonnull. This should be relatively straightforward to add, and contributions are welcome!

    If you’ve ever been frustrated by cryptic SIGILL errors while trying out Zig, this update should make debugging undefined behavior a lot easier!

    February 07, 2025

    No-Libc Zig Now Outperforms Glibc Zig

    Author: Andrew Kelley

    Alright, I know I’m supposed to be focused on issue triage and merging PRs for the upcoming release this month, but in my defense, I do some of my best work while procrastinating.

    Jokes aside, this week we had CI failures due to Zig’s debug allocator creating too many memory mappings. This was interfering with Jacob’s work on the x86 backend, so I spent the time to rework the debug allocator.

    Since this was a chance to eliminate the dependency on a compile-time known page size, I based my work on contributor archbirdplus’s patch to add runtime-known page size support to the Zig standard library. With this change landed, it means Zig finally works on Asahi Linux. My fault for originally making page size compile-time known. Sorry about that!

    Along with detecting page size at runtime, the new implementation no longer memsets each page to 0xaa bytes then back to 0x00 bytes, no longer searches when freeing, and no longer depends on a treap data structure. Instead, the allocation metadata is stored inline, on the page, using a pre-cached lookup table that is computed at compile-time:

    /// This is executed only at compile-time to prepopulate a lookup table.
    fn calculateSlotCount(size_class_index: usize) SlotIndex {
        const size_class = @as(usize, 1) << @as(Log2USize, @intCast(size_class_index));
        var lower: usize = 1 << minimum_slots_per_bucket_log2;
        var upper: usize = (page_size - bucketSize(lower)) / size_class;
        while (upper > lower) {
            const proposed: usize = lower + (upper - lower) / 2;
            if (proposed == lower) return lower;
            const slots_end = proposed * size_class;
            const header_begin = mem.alignForward(usize, slots_end, @alignOf(BucketHeader));
            const end = header_begin + bucketSize(proposed);
            if (end > page_size) {
                upper = proposed - 1;
            } else {
                lower = proposed;
            }
        }
        const slots_end = lower * size_class;
        const header_begin = mem.alignForward(usize, slots_end, @alignOf(BucketHeader));
        const end = header_begin + bucketSize(lower);
        assert(end <= page_size);
        return lower;
    }
    

    It’s pretty nice because you can tweak some global constants and then get optimal slot sizes. That assert at the end means if the constraints could not be satisfied you get a compile error. Meanwhile in C land, equivalent code has to resort to handcrafted lookup tables. Just look at the top of malloc.c from musl:

    const uint16_t size_classes[] = {
    	1, 2, 3, 4, 5, 6, 7, 8,
    	9, 10, 12, 15,
    	18, 20, 25, 31,
    	36, 42, 50, 63,
    	72, 84, 102, 127,
    	146, 170, 204, 255,
    	292, 340, 409, 511,
    	584, 682, 818, 1023,
    	1169, 1364, 1637, 2047,
    	2340, 2730, 3276, 4095,
    	4680, 5460, 6552, 8191,
    };
    

    Not nearly as nice to experiment with different size classes. The water’s warm, Rich, come on in! 😛

    Anyway, as a result of reworking this allocator, not only does it work with runtime-known page size, and avoid creating too many memory mappings, it also performs significantly better than before. The motivating test case for these changes was this degenerate ast-check task, with a debug compiler:

    Benchmark 1 (3 runs): master/bin/zig ast-check ../lib/compiler_rt/udivmodti4_test.zig
      measurement          mean ± σ            min … max           outliers         delta
      wall_time          22.8s  ±  184ms    22.6s  … 22.9s           0 ( 0%)        0%
      peak_rss           58.6MB ± 77.5KB    58.5MB … 58.6MB          0 ( 0%)        0%
      cpu_cycles         38.1G  ± 84.7M     38.0G  … 38.2G           0 ( 0%)        0%
      instructions       27.7G  ± 16.6K     27.7G  … 27.7G           0 ( 0%)        0%
      cache_references   1.08G  ± 4.40M     1.07G  … 1.08G           0 ( 0%)        0%
      cache_misses       7.54M  ± 1.39M     6.51M  … 9.12M           0 ( 0%)        0%
      branch_misses       165M  ±  454K      165M  …  166M           0 ( 0%)        0%
    Benchmark 2 (3 runs): branch/bin/zig ast-check ../lib/compiler_rt/udivmodti4_test.zig
      measurement          mean ± σ            min … max           outliers         delta
      wall_time          20.5s  ± 95.8ms    20.4s  … 20.6s           0 ( 0%)        ⚡- 10.1% ±  1.5%
      peak_rss           54.9MB ±  303KB    54.6MB … 55.1MB          0 ( 0%)        ⚡-  6.2% ±  0.9%
      cpu_cycles         34.8G  ± 85.2M     34.7G  … 34.9G           0 ( 0%)        ⚡-  8.6% ±  0.5%
      instructions       25.2G  ± 2.21M     25.2G  … 25.2G           0 ( 0%)        ⚡-  8.8% ±  0.0%
      cache_references   1.02G  ±  195M      902M  … 1.24G           0 ( 0%)          -  5.8% ± 29.0%
      cache_misses       4.57M  ±  934K     3.93M  … 5.64M           0 ( 0%)        ⚡- 39.4% ± 35.6%
      branch_misses       142M  ±  183K      142M  …  142M           0 ( 0%)        ⚡- 14.1% ±  0.5%
    

    I didn’t stop there, however. Even though I had release tasks to get back to, this left me itching to make a fast allocator – one that was designed for multi-threaded applications built in ReleaseFast mode.

    It’s a tricky problem. A fast allocator needs to avoid contention by storing thread-local state, however, it does not directly learn when a thread exits, so one thread must periodically attempt to reclaim another thread’s resources. There is also the producer-consumer pattern – one thread only allocates while one thread only frees. A naive implementation would never reclaim this memory.

    Inspiration struck, and 200 lines of code later I had a working implementation… after Jacob helped me find a couple logic bugs.

    I created Where in the World Did Carmen’s Memory Go? and used it to test a couple specific usage patterns. Idea here is to over time collect a robust test suite, do fuzzing, benchmarking, etc., to make it easier to try out new Allocator ideas in Zig.

    After getting good scores on those contrived tests, I turned to the real world use cases of the Zig compiler itself. Since it can be built with and without libc, it’s a great way to test the performance delta between the two.

    Here’s that same degenerate case above, but with a release build of the compiler – glibc zig vs no libc zig:

    Benchmark 1 (32 runs): glibc/bin/zig ast-check ../lib/compiler_rt/udivmodti4_test.zig
      measurement          mean ± σ            min … max           outliers         delta
      wall_time           156ms ± 6.58ms     151ms …  173ms          4 (13%)        0%
      peak_rss           45.0MB ± 20.9KB    45.0MB … 45.1MB          1 ( 3%)        0%
      cpu_cycles          766M  ± 10.2M      754M  …  796M           0 ( 0%)        0%
      instructions       3.19G  ± 12.7      3.19G  … 3.19G           0 ( 0%)        0%
      cache_references   4.12M  ±  498K     3.88M  … 6.13M           3 ( 9%)        0%
      cache_misses        128K  ± 2.42K      125K  …  134K           0 ( 0%)        0%
      branch_misses      1.14M  ±  215K      925K  … 1.43M           0 ( 0%)        0%
    Benchmark 2 (34 runs): SmpAllocator/bin/zig ast-check ../lib/compiler_rt/udivmodti4_test.zig
      measurement          mean ± σ            min … max           outliers         delta
      wall_time           149ms ± 1.87ms     146ms …  156ms          1 ( 3%)        ⚡-  4.9% ±  1.5%
      peak_rss           39.6MB ±  141KB    38.8MB … 39.6MB          2 ( 6%)        ⚡- 12.1% ±  0.1%
      cpu_cycles          750M  ± 3.77M      744M  …  756M           0 ( 0%)        ⚡-  2.1% ±  0.5%
      instructions       3.05G  ± 11.5      3.05G  … 3.05G           0 ( 0%)        ⚡-  4.5% ±  0.0%
      cache_references   2.94M  ± 99.2K     2.88M  … 3.36M           4 (12%)        ⚡- 28.7% ±  4.2%
      cache_misses       48.2K  ± 1.07K     45.6K  … 52.1K           2 ( 6%)        ⚡- 62.4% ±  0.7%
      branch_misses       890K  ± 28.8K      862K  … 1.02M           2 ( 6%)        ⚡- 21.8% ±  6.5%
    

    Outperforming glibc!

    And finally here’s the entire compiler building itself:

    Benchmark 1 (3 runs): glibc/bin/zig build -Dno-lib -p trash
      measurement          mean ± σ            min … max           outliers         delta
      wall_time          12.2s  ± 99.4ms    12.1s  … 12.3s           0 ( 0%)        0%
      peak_rss            975MB ± 21.7MB     951MB …  993MB          0 ( 0%)        0%
      cpu_cycles         88.7G  ± 68.3M     88.7G  … 88.8G           0 ( 0%)        0%
      instructions        188G  ± 1.40M      188G  …  188G           0 ( 0%)        0%
      cache_references   5.88G  ± 33.2M     5.84G  … 5.90G           0 ( 0%)        0%
      cache_misses        383M  ± 2.26M      381M  …  385M           0 ( 0%)        0%
      branch_misses       368M  ± 1.77M      366M  …  369M           0 ( 0%)        0%
    Benchmark 2 (3 runs): SmpAllocator/fast/bin/zig build -Dno-lib -p trash
      measurement          mean ± σ            min … max           outliers         delta
      wall_time          12.2s  ± 49.0ms    12.2s  … 12.3s           0 ( 0%)          +  0.0% ±  1.5%
      peak_rss            953MB ± 3.47MB     950MB …  957MB          0 ( 0%)          -  2.2% ±  3.6%
      cpu_cycles         88.4G  ±  165M     88.2G  … 88.6G           0 ( 0%)          -  0.4% ±  0.3%
      instructions        181G  ± 6.31M      181G  …  181G           0 ( 0%)        ⚡-  3.9% ±  0.0%
      cache_references   5.48G  ± 17.5M     5.46G  … 5.50G           0 ( 0%)        ⚡-  6.9% ±  1.0%
      cache_misses        386M  ± 1.85M      384M  …  388M           0 ( 0%)          +  0.6% ±  1.2%
      branch_misses       377M  ±  899K      377M  …  378M           0 ( 0%)        💩+  2.6% ±  0.9%
    

    I feel that this is a key moment in the Zig project’s trajectory. This last piece of the puzzle marks the point at which the language and standard library has become strictly better to use than C and libc.

    While other languages build on top of libc, Zig instead has conquered it!

    January 24, 2025

    LLDB Fork for Zig

    Author: Alex Rønne Petersen

    One of the major things Jacob has been working on is good debugging support for Zig. This includes an LLDB fork with enhancements for the Zig language, and is primarily intended for use with Zig’s self-hosted backends. With the self-hosted x86_64 backend becoming much more usable in the upcoming 0.14.0 release, I decided to type up a wiki page with instructions for building and using the fork.

    If you’re already trying out Zig’s self-hosted backend in your workflow, please take the LLDB fork for a spin and see how it works for you.

    Share. Facebook Twitter Pinterest LinkedIn Reddit WhatsApp Telegram Email
    Previous ArticlePoison everywhere: No output from your MCP server is safe
    Next Article I used AI-powered calorie counting apps, and they were even worse than expected
    TechAiVerse
    • Website

    Jonathan is a tech enthusiast and the mind behind Tech AI Verse. With a passion for artificial intelligence, consumer tech, and emerging innovations, he deliver clear, insightful content to keep readers informed. From cutting-edge gadgets to AI advancements and cryptocurrency trends, Jonathan breaks down complex topics to make technology accessible to all.

    Related Posts

    AMD’s powerful AI chips can finally be unleashed on Windows PCs

    June 13, 2025

    Imilab C30 Dual review: 2 lenses, 1 smart monitoring solution

    June 13, 2025

    Microsoft’s AI helper, Copilot Vision, is now live

    June 13, 2025
    Leave A Reply Cancel Reply

    Top Posts

    New Akira ransomware decryptor cracks encryptions keys using GPUs

    March 16, 202523 Views

    OpenAI details ChatGPT-o3, o4-mini, o4-mini-high usage limits

    April 19, 202518 Views

    Rsync replaced with openrsync on macOS Sequoia

    April 7, 202514 Views

    Arizona moves to ban AI use in reviewing medical claims

    March 12, 202511 Views
    Don't Miss
    Technology June 13, 2025

    AMD’s powerful AI chips can finally be unleashed on Windows PCs

    AMD’s powerful AI chips can finally be unleashed on Windows PCs Skip to content Image:…

    Imilab C30 Dual review: 2 lenses, 1 smart monitoring solution

    Microsoft’s AI helper, Copilot Vision, is now live

    Microsoft throws shade at macOS Tahoe’s familiar new vista

    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    About Us
    About Us

    Welcome to Tech AI Verse, your go-to destination for everything technology! We bring you the latest news, trends, and insights from the ever-evolving world of tech. Our coverage spans across global technology industry updates, artificial intelligence advancements, machine learning ethics, and automation innovations. Stay connected with us as we explore the limitless possibilities of technology!

    Facebook X (Twitter) Pinterest YouTube WhatsApp
    Our Picks

    AMD’s powerful AI chips can finally be unleashed on Windows PCs

    June 13, 20250 Views

    Imilab C30 Dual review: 2 lenses, 1 smart monitoring solution

    June 13, 20250 Views

    Microsoft’s AI helper, Copilot Vision, is now live

    June 13, 20250 Views
    Most Popular

    Ethereum must hold $2,000 support or risk dropping to $1,850 – Here’s why

    March 12, 20250 Views

    Xiaomi 15 Ultra Officially Launched in China, Malaysia launch to follow after global event

    March 12, 20250 Views

    Apple thinks people won’t use MagSafe on iPhone 16e

    March 12, 20250 Views
    © 2025 TechAiVerse. Designed by Divya Tech.
    • Home
    • About Us
    • Contact Us
    • Privacy Policy
    • Terms & Conditions

    Type above and press Enter to search. Press Esc to cancel.