* Engine Codes: GM used different internal engine codes (e.g., L03, L27, etc.) even within the same displacement and year. These codes indicate different internal components, even if externally similar. These differences can affect things like the intake manifold, oil pan, and even the engine mounts.
* Mounts and Accessories: The engine mounts themselves might differ slightly between the two cars, preventing a direct bolt-in. The placement of accessories (alternator, power steering pump, etc.) might also differ, requiring modifications to the mounting brackets or accessory drive belts.
* Wiring Harnesses: The wiring harnesses are unique to each vehicle. Even if the engine is mechanically compatible, the wiring for sensors, injectors, and other components will be different.
* Computer Control: The engine control module (ECM) and its programming are specific to each car. Trying to use the wrong ECM will result in poor performance or non-functionality.
In short: You need to confirm the exact engine codes (found on a sticker on the engine block) for both engines. Even with matching codes, a mechanic should carefully assess the compatibility before attempting the swap. It's likely to be more work than just bolting an engine in, requiring potential modifications to mounts, harnesses, and possibly other components.